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

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

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

$tastr$> category id name -tastr->

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

$tastr$> posts id title category_id -tastr->

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

<?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); } } ?>

Сделайте следующие таблицы:

$tastr$> cities id name country_id -tastr->
$tastr$> countries id name -tastr->

Свяжите таблицу countries с таблицей cities отношением hasMany.



Чат с GPT Компилятор