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
));

または、コメントを作成してから、posts テーブルと users テーブルの両方との関係を挿入することもできます。

$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 では、最後の 2 行save($comment)に代わりに使用します。insert($comment)これは Laravel 3 からの重大な変更です。

于 2013-03-17T17:00:24.310 に答える