我有问题。我有两张桌子,地方和菜系,还有cuisine_place,在那张桌子上,我有一个名为default的列(显示该菜系是否为该地方的默认菜系)。但是我有一个问题,我无法访问那个专栏。
我该怎么办?
我想做的是让他们在这个答案:
$places = Place::all()->with('cuisines')->withPivot('default');
类似的东西。
感谢
地方和美食之间存在多对多的关系。这种关系将在您的模型中以以下方式定义:
public function cuisines(){
return $this->belongsToMany('Cuisine', 'cuisine_place');
}
以上将是Place类中的一个函数,该函数引用其与菜系表的关系。默认情况下,Eloquent将在cuisine_place表中拾取外键(在您的情况下,它们可能被称为cuisin_id和place_id)。如果您想在调用上述关系函数时从该表中提取其他列,可以使用withPivot
函数:
public function cuisines(){
return $this->belongsToMany('Cuisine', 'cuisine_place')->withPivot('default');
}
现在,在Place类中调用cuisines()
方法时,您将在与该表关联的对象中接收默认列。
为Laravel Eloquent Relationships 打开文档
并阅读检索中间表列
您没有提供您的模型代码,因此很难帮助您获得准确的解决方案