[英]Laravel belongsToMany Relationship issue
我还有另一个问题。 我有一个国家模型:
protected $fillable = [
'code', 'latitude', 'longitude', 'currency_id', 'timezone', 'dam_date', 'status',
];
public function neighbors() {
return $this->belongsToMany('App\Models\Country', 'country_country_relation', 'country_id_1', 'country_id_2');
}
我想向某个国家展示邻居。 不幸的是,neighbors()仅在一个方向上工作。
示例:如果我将奥地利添加为德国的邻国,当我看到德国页面时,我会看到奥地利,但是当我看到奥地利页面时,我找不到德国为邻居。 为了使这件事成为可能,我应该改变什么?
您要问的是表自参考的多对多关系。 在您的情况下,问题在于您要将数据透视表中的一个ID从另一个保存到另一个。 因此,只能以这种方式进行检索。 仅通过一种关系,您就遇到了一种按键顺序的问题,以便能够以两种方式获取它们。
看看这个(您最终有2种方法来双向触发关系): Laravel多对多自引用表仅以一种方式起作用
更好的解决方案在这里: https : //github.com/laravel/framework/issues/441
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.