我有问题。我有两个表,地方和美食,以及Cuisine_place,并且在该表中有一列名为default(显示该地方的默认美食)。但是我有一个问题,我无法访问该列。
我能怎么做?
我想做的就是在此答案中包含它们:
$places = Place::all()->with('cuisines')->withPivot('default');
这样的东西。
谢谢
最佳答案
您在地方和美食之间有着多对多的关系。该关系将在您的模型中以以下方式定义:
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()
方法时,您将在与该表关联的对象中收到默认列。