さて、私は Laravel 4 のドキュメントに取り組んで、2 つのモデル間に 1 対多の関係を設定しています。明らかに、片側で hasMany() を使用する必要があります。しかし、反対側では、hasOne と belongsTo を使用する必要がありますか? それは問題ですか?違いは何ですか?なぜ両方が存在するのですか?
hasOne は 1 対 1 の関係用で、begsTo は 1 対多の片側用だと思っていました。しかし、ドキュメントでは、ここに関連モデルを挿入するために:
http://laravel.com/docs/eloquent#inserting-related-models
彼らは、 ではなくと の関係save()
にのみ存在するように見えるものを使用しています。同じ目的で使用するように見えます:hasOne
hasMany
belongsTo
belongsTo
associate()
belongsTo
いつvs.を使用するhasOne
か、なぜwhile をbelongsTo
使用するかについての一般的な背景が必要なだけかもしれません。associate()
hasOne
save()
編集:私の混乱のポイントは、ドキュメント( http://laravel.com/docs/eloquent#inserting-related-models )で、彼らが使用したことだったと思います:
$post->comments()->save($comment);
私が使用した場所:
$comment->post()->associate($post);
いずれかの方法に利点はありますか?それとも、文脈の中で何が意味を成すかという問題だけですか?