Отношения в Laravel довольно прямо вперед, чтобы реализовать и действительно легко понять из-за выразительного API. Так что в вашем случае логика была бы так:
Комментарий относится к сообщение и сообщение принадлежит Автор
Так считая вас есть Comment
, Post
и Author
, каждый должен иметь определенный метод отношений, который отражает вышеприведенную логику.
Comment
модель будет выглядеть следующим образом:
class Comment extends Model
{
public function post()
{
return $this->belongsTo(Post::class);
}
}
И Post
модель будет выглядеть следующим образом:
class Post extends Model
{
public function author()
{
return $this->belongsTo(Author::class);
}
}
Затем вы можете легко получить доступ к имени автора сообщения с помощью этих отношений :
Comment::find(1)->post->author->name;
Как видно из кода выше, код записи для отношений очень прост, так как имена методов действительно наводящие на размышления. Вы можете больше узнать о «Откровенных отношениях» в Laravel Documentation.
Большое спасибо, –