这个问题是关于Laravel的做事方式:
Laravel中的所有内容都可以以优雅的方式完成。
我目前通过名为mongrels
的表格在breeds
和breed_mongrel
之间存在多对多关系,但此表格还有一个certainty
值,用于说明狗是如何确定的他确实是那个特定品种的混合物。
mongrel_id | breed_id | certainty|
----------------------------------
| 1 | 4 | 50 |
| 1 | 2 | 25 |
| 2 | 5 | 75 |
这意味着杂种#1 50%肯定她是#4品种,25%肯定她也是品种#2的混合物。然而杂种#2是75%,确定他是#5品种。
我的问题是在此表中添加记录的优雅方式是什么? 我可以使用这样的东西:
DB::table('breed_mongrel')->insert(
array('mongrel_id' => 3, 'breed_id' => 5, 'certainty' => 37));
但是在Laravel中,我通常会更加雄辩地做一些事情:
$relation = new Relation;
$relation->breed_id = 1;
$relation->save();
但是因为它是一种关系而我不能遵循以单数驼峰caseform命名的普通模型和以复数形式命名的DB表(蜗牛)情况我不确定Laravelly是什么方式向这个数据库表添加条目?
答案 0 :(得分:4)
您可以使用附加。它还接受第二个参数,允许将额外的值添加到数据透视表中。
$mongrel = Mongrel::find(1);
$breed = Breed::find(4);
$mongrel->breeds()->attach($breed, array('certainty' => '50'));