如何从Laravel中的N-N关系表中的列中获取值


How to get value from column that is in a N-N relationship table in Laravel

我有问题。我有两张桌子,地方和菜系,还有cuisine_place,在那张桌子上,我有一个名为default的列(显示该菜系是否为该地方的默认菜系)。但是我有一个问题,我无法访问那个专栏。

我该怎么办?

我想做的是让他们在这个答案:

$places = Place::all()->with('cuisines')->withPivot('default');

类似的东西。

感谢

地方美食之间存在多对多的关系。这种关系将在您的模型中以以下方式定义:

public function cuisines(){
    return $this->belongsToMany('Cuisine', 'cuisine_place');
}

以上将是Place类中的一个函数,该函数引用其与菜系表的关系。默认情况下,Eloquent将在cuisine_place表中拾取外键(在您的情况下,它们可能被称为cuisin_idplace_id)。如果您想在调用上述关系函数时从该表中提取其他列,可以使用withPivot函数:

public function cuisines(){
    return $this->belongsToMany('Cuisine', 'cuisine_place')->withPivot('default');
}

现在,在Place类中调用cuisines()方法时,您将在与该表关联的对象中接收默认列。

为Laravel Eloquent Relationships 打开文档

并阅读检索中间表列

您没有提供您的模型代码,因此很难帮助您获得准确的解决方案