我遇到了问题。我有两张桌子,地方和美食,以及cuisine_place,在那张桌子上我有一个名为default的列(显示该菜是否是该地方的默认美食)。但我遇到的问题是我无法访问该列。
我该怎么办?
我想要做的就是让他们回答这个问题:
$places = Place::all()->with('cuisines')->withPivot('default');
类似的东西。
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
地方与美食之间存在多对多关系。这种关系将在您的模型中以下列方式定义:
public function cuisines(){
return $this->belongsToMany('Cuisine', 'cuisine_place');
}
上述内容将是 Place 类中的一个函数,该类引用其与 cuisines 表的关系。默认情况下,Eloquent会在 cuisine_place 表中选取外键(在您的情况下,它们可能会被称为 cuisine_id 和 place_id )。如果要在调用上述关系函数时从该表中选取其他列,可以使用withPivot
函数:
public function cuisines(){
return $this->belongsToMany('Cuisine', 'cuisine_place')->withPivot('default');
}
现在,在 Place 类中调用cuisines()
方法后,您将在与该表关联的对象中收到默认列