好的,我正在通过 Laravel 4 文档来设置两个模型之间的一对多关系。显然,一侧应该使用 hasMany()。但另一方面,我应该使用 hasOne 还是 belongsTo?有关系吗?有什么区别?为什么两者都存在?
我原以为 hasOne 将用于一对一关系,belongsTo 将用于一对多的一方。但在文档中,用于在此处插入相关模型:
http://laravel.com/docs/eloquent#inserting-related-models
他们使用save()
的似乎只存在于hasOne
andhasMany
关系中,而不存在于belongsTo
. 看起来belongsTo
用途associate()
相同:
也许我只需要一些关于何时使用belongsTo
vs.hasOne
以及为什么belongsTo
使用associate()
while hasOne
uses的一般背景知识save()
。
编辑:我想我的困惑是在文档(http://laravel.com/docs/eloquent#inserting-related-models)中,他们使用了:
$post->comments()->save($comment);
我会在哪里使用:
$comment->post()->associate($post);
一种方式或另一种方式有优势吗?或者这只是一个在上下文中有意义的问题?