Выборка 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();
}
}