Метод select
Метод select применяется к запросу Eloquent
или Query Builder и позволяет указать, какие именно
колонки должны быть включены в результат выборки.
Если метод не используется, выбираются все колонки
(символ *). В качестве аргументов метод принимает
одну или несколько строк с именами колонок, а также
поддерживает использование выражений и алиасов.
Синтаксис
<?php
Model::select($columns);
DB::table($table)->select($columns);
?>
Пример
Выберем только колонки 'id' и 'string' из таблицы статей:
<?php
use AppModelsArticle;
$res = Article::select('id', 'string')->get();
foreach ($res as $article) {
echo $article->id . ' ' . $article->string;
}
?>
Результат выполнения кода:
"1 article 1"
"2 article 2"
"3 article 3"
Пример
Выберем колонку 'string' с алиасом 'title' и колонку 'text':
<?php
use AppModelsArticle;
$res = Article::select('string as title', 'text')->get();
foreach ($res as $article) {
echo $article->title . ' ' . $article->text;
}
?>
Результат выполнения кода:
"article 1 text 1"
"article 2 text 2"
"article 3 text 3"
Пример
Используем метод select вместе с агрегатной функцией count:
<?php
use AppModelsArticle;
use IlluminateSupportFacadesDB;
$res = Article::select(DB::raw('count(*) as total'))->first();
echo $res->total;
?>
Результат выполнения кода:
"5"
Пример
Выберем колонки 'id', 'integer' и 'boolean' с помощью Query Builder:
<?php
use IlluminateSupportFacadesDB;
$res = DB::table('articles')->select('id', 'integer', 'boolean')->get();
foreach ($res as $article) {
echo $article->id . ' ' . $article->integer . ' ' . $article->boolean;
}
?>
Результат выполнения кода:
"1 10 1"
"2 20 0"
"3 30 1"