Как разрешить только один набор данных из массива в контроллере Laravel-5.4:
foreach(Cart::content() as $cartitem) {
if($cartitem->id === $id){
do something....
}
}
Я хочу взять только набор данных из $ cartitem, когда $ cartitem-> id === $ id ($ id приходит из запроса), и отклонить все остальные наборы данных из $ cartitem. Набор данных может быть найден в любом месте (в любом индексе) из массива.
Ты можешь использовать where()
красноречиво добиться того же.
Cart::content()->where('id', $id);
Я бы порекомендовал, чтобы в запросе вы уже запрашивали этот конкретный идентификатор из корзины. Таким образом, вам не нужен этот цикл foreach.
foreach(Cart::content() as $cartitem) {
if($cartitem->id === $id){
$cartitem; // this is your item
break; // break from loop you found it already so stop looping
}
}
От документация Вы можете использовать: (возвращает все элементы с id = 1)
$cart->search(function ($cartItem, $rowId) {
return $cartItem->id === 1; // this will return all items with id = 1
});
Или же получить по rowId
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709'; // this is just demo code
Cart::get($rowId);