簡體   English   中英

Laravel 中的一個集合的過濾器元素

[英]Filter elements of a collection in Laravel

我有以下元素集合,我只想將“question_id”字段彼此不同的第一個元素保存在一個新數組中。 我的意思是,只有“id”為 11 和 12 且“question_id”字段不同的元素會被保存,而其他元素不會保存在新數組中,我怎么能在 Laravel 中做到這一點?

具有唯一 id 屬性和兩個不同 question_id 的實體轉儲

使用數組的鍵。

$qid[$id] = 1;

$collection->unique('question_id')->values() 會給你想要的結果。

$array = [
  [
    "id"=> 11,
    "question_id"=> 22,
    "answer Id"=> 72
  ],
  [
    "Id"=> 12,
    "question_id"=> 23,
    "answer_1d"=> 76
  ],
  [
    "id"=> 13,
    "question_id"=> 23,
    "answer_id"=> 77
  ],
  [
    "id"=> 14,
    "question_id"=> 22,
    "answer_id"=> 77
  ]
];

對於這個數據集

dd(collect($array)->unique('question_id')->values());

將返回

#items: array:2 [▼
    0 => array:3 [▼
      "id" => 11
      "question_id" => 22
      "answer Id" => 72
    ]
    1 => array:3 [▼
      "Id" => 12
      "question_id" => 23
      "answer_1d" => 76
    ]
  ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM