НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗pplrPmMROTM 129 of 194 menu

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

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

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

categories

  • id
  • name

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

posts

  • id
  • title
  • category_id

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

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

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

cities

  • id
  • name
  • country_id

countries

  • id
  • name

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

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить