Laravel-запрос с первичным ключом не работает

1

У меня есть таблица пользователей с столбцом идентификатора в качестве первичного ключа. У меня есть эта функция в контроллере:

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');

В чем может быть проблема?

Теги:
laravel-5

1 ответ

2
Лучший ответ

all() запустит запрос и вернет коллекцию моделей, вместо этого вы должны сначала добавить вызов where а затем использовать get() (или first())

$items = User::where('ID', $id)->get();

Для получения дополнительной информации ознакомьтесь с официальной документацией

  • 0
    Это сработало. Но у меня есть несколько запросов со всеми () -> .., и это также сработало ...
  • 0
    Не видя кода, я ничего не могу сказать об этих других запросах. Просто имейте в виду, что all() будет извлекать коллекцию со всеми моделями из этой таблицы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню