Полный цикл в digital

Связь многие ко многим

Пусть каждый пост может принадлежать нескольким категориям. В этом случае они будут связаны через промежуточную таблицу связи. Давайте посмотрим на структуру таблиц.

Таблица с постами:

posts
        id
        title

Таблица с категориями:

category
        id
        name

Таблица связи:

category_post
        id
        post_id
        category_id

Первая связь

Каждый пост принадлежит многим категориям. Давайте пропишем эту связь через отношение belongsToMany:

app/Models/Post.php<?php
class Post extends Model
{
    public function categories()
    {
        return $this->belongsToMany(Category::class);
    }
}

Получим пост вместе с его категориями:

app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
    public function show()
    {
        $post = Post::find(1);
        dump($post->categories);
    }
}

Вторая связь

Каждая категория принадлежит многим постам. Давайте пропишем эту связь через отношение belongsToMany:

app/Models/Category.php<?php
class Category extends Model
{
    public function posts()
    {
        return $this->belongsToMany(Post::class);
    }
}

Получим категорию вместе с ее постами:

app/Http/Controllers/CategoryController.php<?php
class CategoryController extends Controller
{
    public function show()
    {
        $category = Category::find(1);
        dump($category->posts);
    }
}
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг