Laravel数据库很多:一个关系

时间:2015-05-31 14:59:07

标签: php laravel

我正在学习laravel并构建一​​个小博客应用程序来练习。

我有一个'posts'表,其结构如下:

id:int AI
post:text
author:int

以及具有以下结构的评论表:

id:int AI
comment:text
author:int
post:int

评论表中的帖子字段用于将评论链接到其帖子。

现在,为了添加评论,我会在views / posts目录的show.blade.php文件中添加一个表单,并将其指向store@CommentsController metod。视图的隐藏字段将自动填充帖子的ID,以便我在评论Controlelr中的商店方法看起来像:

Post::find(id)->comments->save($comment);

(我已经定义了模型中的表之间的关系,$ comment类似于$comment = Comment::create($comment_data_from_form)

那就好了,但是,我想知道laravel是否有更好的方式将帖子的id从帖子视图传递给评论控制器,而不是指定和填充隐藏字段?

1 个答案:

答案 0 :(得分:1)

您可以使用以post id作为参数的路线。

要为帖子创建新评论,您可以使用以下路线。

http://example.org/posts/{id}/comments

并在您的控制器中

public function store($postId)
{
    $post = Post::findOrFail($postId);
    ...
    $post->comments->save($comment);
}