我正在“供应商”和“品牌”表之间实现多对多关系。我的模型是供应商、品牌、品牌供应商。我的表是供应商、品牌、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 文档 对于此类事情非常有用,并且 laravel 框架非常一致,因此经常尝试“应该”工作将为您提供解决方案。
你应该能够做到这一点。
function brands(){
$this->belongsToMany(Supplier::class, 'brand_suppliers');
}