Как получить все записи, соответствующие критериям в Laravel Tinker?

Я могу получить первого пользователя, который является администратором в тинкере Laravel, используя следующую команду:

$adminUser = App\User::where('is_admin',true)->first();

Как мне получить всех пользователей, которые соответствуют этому критерию?


person Devdatta Tengshe    schedule 17.05.2018    source источник
comment
Метод first() будет вызывать только одну строку. get() вызовет все совпадающие строки.   -  person Parth Pandya    schedule 17.05.2018
comment
@ Арун, можешь опубликовать это как ответ? Есть документ со всеми такими командами?   -  person Devdatta Tengshe    schedule 17.05.2018
comment
документация laravel - правильное место, приятель   -  person Parth Pandya    schedule 17.05.2018
comment
@DevdattaTengshe, прочитай эти https://laravel.com/docs/5.6/queries. красноречивый поддерживает все методы в построителе запросов   -  person arun    schedule 17.05.2018
comment
@DevdattaTengshe Laravel Tinker — это приложение, которое просто используется для проверки и тестирования данных. Так что документации на это нет. И, согласно вашему вопросу, вы просто тестируете, поэтому вам не нужно писать $adminUser = App\User::where('is_admin',true)->first();. просто напишите App\User::where('is_admin',true)->first();. Я думаю, что это не ответ на этот вопрос, вы можете удалить этот вопрос, если обнаружите, что это было обычным делом.   -  person Chirag Patel    schedule 17.05.2018


Ответы (3)


Просто измените first() на get().

$adminUser = App\User::where('is_admin',true)->get();

first() используется, когда вы хотите получить одну строку или столбец. где get() используется для получения всех строк.

просто просмотрите раздел построителя запросов к базе данных официальной документации laravel здесь. Это даст вам информацию о большинстве всех возможных вещей, которые вы можете использовать с laravel.

person Parth Pandya    schedule 17.05.2018

$users = App\User::where("is_admin", true)->get();

Метод get возвращает коллекцию Illuminate\Support\Collection, содержащую результаты, где каждый результат является экземпляром объекта PHP StdClass. Вы можете получить доступ к значению каждого столбца, обратившись к столбцу как к свойству объекта:

foreach ($users as $user) {
    echo $user->name;
}

Источник: https://laravel.com/docs/5.6/queries

В случае с Tinker все в конструкторе запросов и документах Eloquent будет работать в Tinker. Он существует для того, чтобы моментально получить результат без отладки с использованием вашего реального приложения.

person Neutral    schedule 17.05.2018

Функция first() используется, когда вы хотите получить одну строку, тогда как функция get() используется для получения всех совпадающих строк.

$adminUser = App\User::where('is_admin', true)->get();
dd($adminUser);
person Kuldeep Mishra    schedule 17.05.2018