我有问题。我有两个表,地方和美食,以及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()方法时,您将在与该表关联的对象中收到默认列。

09-10 17:00