eim*_*hat 10 php orm laravel eloquent laravel-4
好的,我正在通过Laravel 4文档来设置两个模型之间的一对多关系.显然,一方应该使用hasMany().但对于另一方,我应该使用hasOne还是belongsTo?有关系吗?有什么区别?为什么两者都存在?
我曾经认为hasOne将是一对一的关系,而且属于一对多的一方.但是在文档中,要在此处插入相关模型:
http://laravel.com/docs/eloquent#inserting-related-models
他们正在使用save()它似乎只存在于hasOne和hasMany关系中,而不是在belongsTo.它看起来像belongsTo使用associate()了相同的目的:
也许我只需要一些关于何时使用belongsTovs.的一般背景hasOne,以及为什么在belongsTo使用associate()时hasOne使用save().
编辑:我想我的困惑点是在文档(http://laravel.com/docs/eloquent#inserting-related-models)中,他们使用了:
$post->comments()->save($comment);
Run Code Online (Sandbox Code Playgroud)
我会用到的地方:
$comment->post()->associate($post);
Run Code Online (Sandbox Code Playgroud)
这种或那种方式有优势吗?或者它只是一个在上下文中有意义的问题?
Tho*_*son 10
请参阅laravel文档,了解帖子和评论之间的一对多关系http://laravel.com/docs/eloquent#relationships.(如果一个帖子有很多评论,评论属于帖子).
帖子和评论的表格如下
帖子表 ID | 标题| 身体
注释表 ID | 评论| POST_ID
包含外键的数据库表属于另一个表中的记录,因此,在注释模型中,您必须指定注释属于posts.
你是正确的,hasOne关系只适用于一对一的关系.
这是一篇带有laravel 3代码的博客文章,它解释了雄辩的关系方法是如何工作的.
http://laravel.io/topic/14/how-eloquent-relationship-methods-work
| 归档时间: |
|
| 查看次数: |
13151 次 |
| 最近记录: |