Выборка select QueryBuilder
Не всегда нужно выбирать все столбцы из таблицы БД. С помощью метода select() можно указать необходимые поля в выборке:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')->select('title', 'text')->get();
}
}
Первый вызов всегда идёт через table() в котором указываем таблицу базы данных. Метод get() указывает на окончание запроса и выполняет его в базу данных, возвращает объект Illuminate\Support\Collection c результатами в котором каждый результат, это экземпляр класса stdClass.
Переименование столбцов
При выборке можно осуществлять переименовывание столбцов. Давайте сделаем так, чтобы поле text в полученной выборке называлось post_text:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')->select('title', 'text as post_text')->get();
}
}
Уникальные значения
Метод distinct указывает запросу возвратить только уникальные значения:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')->distinct()->get();
}
}