У меня есть таблица пользователей с столбцом идентификатора в качестве первичного ключа. У меня есть эта функция в контроллере:
public function show($id)
{
$items=user::all()->where('ID',$id);
foreach ($items as $item)
echo $item->Name;
}
Эта функция ничего не повторяет. Если я перехожу от $ id к $ name следующим образом: $items=user::all()->where('Name',$name);
он возвращает то, что должно вернуться. Идентификатор - это первичный ключ в таблице, это не заполняемое поле в модели. Если я поместил идентификатор в заполняемый массив, он тоже не работает. Он не работает, даже если я hardcode ID, как это $items=user::all()->where('ID','22');
В чем может быть проблема?
all()
запустит запрос и вернет коллекцию моделей, вместо этого вы должны сначала добавить вызов where
а затем использовать get()
(или first()
)
$items = User::where('ID', $id)->get();
Для получения дополнительной информации ознакомьтесь с официальной документацией
all()
будет извлекать коллекцию со всеми моделями из этой таблицы.