Связь один ко многим в Laravel


Давайте теперь изучим связь один ко многим. Такая связь образуется, когда запись одной таблицы соответствует многим записям из другой таблицы.

Давайте посмотрим на примере. Пусть у нас есть следующая таблица с категориями:

category
id
Пусть также у нас есть следующая таблица с постами:

posts
id
title
Заюзаем в модели с категориями модель с постами:

<?php
use App\Models\Post;

class Category extends Model
{

}
?>
Каждая категория имеет много постов, которые ссылаются на нее. Давайте в модели с категориями сделаем метод для получения постов:

<?php
use App\Models\Post;

class Category extends Model
{
public function posts()
{

}
}
?>
Пропишем в этом методе связь через отношение hasMany:

<?php
class Category extends Model
{
public function posts()
{
return $this->hasMany(Post::class);
}
}
?>