@NikesDark
Анализирую на диване

Как использовать where для коллекции в цикле?

Добрый день. Суть такова, есть переменная - в ней коллекция $clothes_col.
И есть другая переменная $categories_id - массив, в которой хранятся id, на пример 1,2,3.
Если использовать такой код, то получаю ошибку, что я запросил 1 item, а у меня имеется их 0.
foreach($categories_id as $category){
                $category += 0;
                $category_clothe = $clothes_col->where('category_id', $category)->get()->random()->toArray();
                print_r($category_clothe);
                echo "<br />";
            }

А если в where написать вместо $category сразу числовое значение (1 или 2 или 3) - то все работает.
Для чего мне это нужно: у меня есть коллекция и массив id, и мне нужно получить новую коллекцию в которой каждый элемент соответствует какому-то id из массива, как в моем коде(который не работает :( ) .
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Вы, судя по всему, метод get используете не по назначению.
Так должно работать:
$clothes_col->where('category_id', $category)->random()->toArray();


$category += 0;
Что за ужас? Вы уж либо типы приводите нормально, либо используйте whereLoose
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы