Как извлечь объект из массива данных в Laravel?

146
14 сентября 2019, 00:20

При использовании Laravel столкнулся со следующей проблемой при использовании коллекции:

$products=DB::table(‘shop’)->get();
return $products->where(‘id’,$id)->title;

выдаёт ошибку, смысл которой в том, что $products это массив, в котором элемент с ключом «1» объект, а не чистый объект и поэтому приходится обращаться так

return $products[1]->where(‘id’,$id)->title;

Но это неудобно и некрасиво. Предложите более эффективный способ

Answer 1

Как вариант можно так:

return $products->where('id', $id)->first()->title;
Answer 2

"Неудобно и некрасиво" - это использовать Eloquent без моделей. Поэтому писать надо так

return App\Shop::find($id)->title;

Предварительно создав модель Shop

READ ALSO
“Ходилка” по сайту

“Ходилка” по сайту

Есть сайт aviasales

144
Проблемы с кодировкой в openserver

Проблемы с кодировкой в openserver

Дело в том, что после обновления openserver перестал работать один из сайтовВыдает следующую ошибку:

121
PHPUNIT (Проверить массив)

PHPUNIT (Проверить массив)

Подскажите пожалуйста как можно проверить вернулся пустой массив или нет

134