Как получить заголовок из Posts :: all () в Laravel? - PullRequest
1 голос
/ 16 апреля 2020

Я пытаюсь получить атрибут title из всех сообщений. Прямо сейчас у меня есть сообщения :: все ()

Я пробовал: сообщения :: название и сообщения :: название-> все ()

Ответы [ 2 ]

5 голосов
/ 16 апреля 2020

Использование pluck :

$titles = Posts::all()->pluck('title');
2 голосов
/ 17 апреля 2020

Поскольку каждая модель Eloquent служит построителем запросов , вы можете использовать любой доступный метод построителя запросов.

Поэтому вместо получения всех атрибутов модели с помощью метода all(), и затем, отфильтровывая полученную коллекцию, вы можете напрямую выполнить запрос, чтобы получить только этот атрибут.

Получение результатов

Получение списка значений столбцов

Если вы хотите получить коллекцию, содержащую значения одного столбца, вы можете использовать метод pluck. В этом примере мы получим коллекцию заголовков сообщений:

$titles =  Posts::pluck('title');

foreach ($titles as $title) {
    echo $title;
}

Или с помощью select:

Выбирает

Указание предложения выбора

Возможно, вы не всегда хотите выбирать все столбцы из таблицы базы данных. Используя метод select, вы можете указать пользовательское предложение select для запроса:

$posts = Posts::select('title')->get();

foreach ($posts as $post) {
    echo $post->title;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...