Laravel Eloquent 多对多关系中的表名问题

问题描述 投票:0回答:1

我正在“供应商”和“品牌”表之间实现多对多关系。我的模型是供应商、品牌、品牌供应商。我的表是供应商、品牌、brand_suppliers。我知道 Laravel 默认情况下搜索带有brand_suppliers 的数据透视表,但我的迁移将其创建为brand_suppliers。我怎样才能覆盖表名。

供应商型号:

public function brands(){
        return $this->belongsToMany(Brand::class)->using(BrandSupplier::class);
    }

品牌型号:

public function suppliers(){
        return $this->belongsToMany(Supplier::class)->using(BrandSupplier::class);
    }

品牌供应商型号:

class BrandSupplier extends Pivot
{
    protected $table = 'brand_suppliers';
}

我厌倦了上面的这个。但是,它不起作用。

laravel eloquent many-to-many pivot-table
1个回答
1
投票

laravel 文档 对于此类事情非常有用,并且 laravel 框架非常一致,因此经常尝试“应该”工作将为您提供解决方案。

你应该能够做到这一点。

function brands(){
   $this->belongsToMany(Supplier::class, 'brand_suppliers');

}
© www.soinside.com 2019 - 2024. All rights reserved.