Соединение таблиц left Join (внешнее соединение) QueryBuilder
С помощью метода leftJoin
можно выполнять соединение таблиц. Давайте посмотрим на примерах. Пусть у нас кроме таблицы с постами есть еще и таблица с категориями, которым принадлежат посты.
Первый вызов всегда идёт через table()
в котором указываем таблицу базы данных. Метод get()
указывает на окончание запроса и выполняет его в базу данных, возвращает объект Illuminate\Support\Collection
c результатами в котором каждый результат, это экземпляр класса stdClass
.
Давайте напишем запрос, который получит посты вместе с их категориями:
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')
->leftJoin('categories', 'category.id', '=', 'posts.category_id')
->get();
dump($posts);
}
}