1

如果我创建这样的评论:

$post->comments()->create(array('body' => 'Comment message'));

我的帖子上有模型:

public function comments()
{
    return $this->morphMany('Comment', 'shared_comments');
}

它填充了帖子和评论之间的多态关系字段。

我的评论中也有模型:

public function author()
{
    return $this->belongsTo('User');
}

如何填写评论表中的“user_id”字段?

4

1 回答 1

1

您可以在数组中明确指定用户 ID。

$post->comments()->create(array(
    'body' => 'Comment message',
    'user_id' => Auth::user()->id
));

或者,您可以创建评论,然后插入与帖子和用户表的关系。

$post = Post::find($whatever);
$user = Auth::user()->id;

$comment = Comment::create(array(
    'body' => 'Comment message'
));

$post->comments()->insert($comment);
$user->comments()->insert($comment);

在 Laravel 4 中,最后两行将使用save($comment)而不是。insert($comment)这是 Laravel 3 的重大变化。

于 2013-03-17T17:00:24.310 回答