offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗pplrPmMROTM 129 of 194 menu

Связь один ко многим в 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.