好的,我正在通过Laravel 4文档设置两个模型之间的一对多关系。显然,一方应该使用hasMany()。但对于另一方面,我应该使用hasOne还是belongsTo?有关系吗?有什么区别?为什么两者都存在?澄清如何在Laravel的雄辩ORM中设置一对多关系
我曾以为hasOne会用于一对一的关系,belongsTo会用于one-to-many的一边。但是,在该文档中,这里插入相关模型:
http://laravel.com/docs/eloquent#inserting-related-models
他们使用save()
这似乎只存在于hasOne
和hasMany
关系,而不是在belongsTo
。它看起来像belongsTo
使用associate()
为了同样的目的:
也许我只是需要时使用belongsTo
与hasOne
一些一般性的背景,为什么belongsTo
使用associate()
而hasOne
使用save()
。
编辑:我想我的困惑的一点是,在文档(http://laravel.com/docs/eloquent#inserting-related-models),他们使用:
$post->comments()->save($comment);
,我会用:
$comment->post()->associate($post);
是否有优势,一个方式或其他?或者这只是一个在上下文中有意义的问题?
这种帮助,因为我有我的关系倒退定义。我把这个表的外键作为'hasMany'。 –