Laravel의 컬렉션에서 연관 배열을 만들려고 힘듭니다. 그런 다음 케이스 확인을 위해 어레이를 사용해야합니다.컬렉션 목적의 확인을 위해 laravel의 연관 배열을 만듭니다.
내가 이렇게 내 컬렉션을 얻을 :
$collected_items = $user->collected_items()->where('model_id', '=', $model_id)->get();
나는 내가 color_id = 0, 1 or 2
만약 내가 다른 코드를 실행해야하기 때문에 color_id
를 확인해야 'color_id'
처럼이 컬렉션에서 일부 관련 데이터를 추출해야
모든 사례에 대해 DB 쿼리를 수행하고 싶지 않기 때문에 데이터를로드하고 결합 배열에 넣는 것이 더 좋습니다.
하지만 내 인생 내가이 배열 를 만들 수 없습니다 내가 시도 :
$array_of_colors = []
foreach ($collected_items as $i) {
if ($i['color_id'] == 0) {
$array_of_colors += ['black' => $i->model_color_id];
}
if ($i['color_id'] == 1) {
$array_of_colors += ['colored' => $i->model_color_id];
}
if ($i['color_id'] == 2) {
$array_of_colors += ['white' => $i->model_color_id];
}
}
그럼 내가 다음 할 검은 무언가의 경우이 있는지 확인하기 위해 $array_of_colors
을 사용, 흰색 뭔가 기타 등
당신은 실제로 다시 컬렉션을 얻을 당신이'filter' 옵션을 사용으로 보았다? – Pitchinnate
https://laravel.com/docs/5.4/collections#method-filter – Pitchinnate
맞아, 고마워, 필터 된 컬렉션에서 filter() 옵션을 사용하고 max() 및 min()을 사용하여 값을 할당했습니다. 일부 변수가 필요합니다. – Chriz74