public function showPost(Post $post) { return $post };
public function showPostWithContent(Post $post, Content $content) { return $content };
У каждого
Post есть свой уникальный
slug.
У контента также, есть свой
slug, но не уникальный. Также есть
post_id.
Метод
showPost показывает пост, также список контентов.
Метод
showPostWithContent возвращает как
Post, так и
Content "наследуемой" от этого
Post (что пытаюсь реализовать).
1. Можно реализовать так, чтобы у
Content был уникальный
slug, что решает сразу поставленную задачу.
2. Можно написать
Middleware, который будет искать контент в коллекции
Post.
3. Второй метод, только внутри метода без
Middleware.
Это то, что приходит в голову...
Как бы вы реализовали?
Как реализовать это грамотно?)
Спасибо!
Дополнение:
Relationships - реализованы. Все правильно, и работает!
Посты могут быть разные. Типы следующие - Article, Video, и тд тп.
Posts table: title, description, article_id (nullable), video_id (nullable), question_id(nullable).
Получается, что пост динамичный в плане контента.
Контенты тем временем плотно связаны с Post. Foreign, on delete cascade.
Но если мы подберем следующий роут... /posts/{post = slug}/{content = content_slug} мы по сути не проверяем, принадлежит ли данный контент текущему посту. Дырочка какая - если мы возьмём content slug из другого поста, который id = 2 (Post: id = 2), и напишем так /posts/{post: id = 1}/content_slug (наследующийся от post: id =1), мы его получим. Так не должно быть.