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

Обратная связь один ко многим в Laravel

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

Если посмотреть со стороны поста, то каждый пост принадлежит одной категории. Это значит, что пост можно связать с категорией отношением belongsTo. Давайте сделаем это:

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

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

<?php class PostController extends Controller { public function show() { $post = Post::find(1); dump($post); dump($post->category); } } ?>

Получим все посты, переберем их циклом и выведем их вместе с их категориями:

<?php class PostController extends Controller { public function show() { $posts = Post::all(); foreach ($posts as $post) { dump($post); dump($post->category); } } } ?>

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

Получите город вместе с его страной.

Получите все города вместе с их странами.

Получите все города с населением больше 100 тысяч вместе с их странами.