我有以下关系:RAB拥有多种产品。产品属于多个瑞博但是这个产品也有多种货币属于ToOne RAB本身。它看起来像这样。在 RAB 模型中: public function products() { return $this->belongsToMany('App\ModelKeuangan\ProductsModel', 'rab_products', 'rab_id', 'products_id'); }在产品型号中:public function rab() { return $this->belongsToMany('App\ModelUnitKerja\Perencanaan\RabModel', 'rab_products', 'products_id', 'rab_id'); }rab_products是我的中间/联接表。当为RAB同步产品数据时,它工作得很好。但是我无法获得如何制作雄辩的模型,用于将货币数据同步到rab和产品。我还需要为货币制作模型吗?如果是,我如何定义它?我的计划是像这样制作一个枢轴,但是我可以在数据透视表内建立关系吗?class RabProducts extends Pivot { //relation function to currency}并更改我的产品型号,如下所示: public function rab(){ return $this->belongsToMany('App\ModelUnitKerja\Perencanaan\RabModel')->using('App\RabProducts');}
1 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
创建货币模型并添加foreign_key:product_id
php artisan make:model Currency
在产品和货币之间构建一对多,您需要在表中添加。product_idcurrencies
在您的货币模型中:
public function product() {
return $this->belongsTo('App\Product', 'product_id');
}
在您的产品模型中:
public function currencies()
{
return $this->hasMany(\App\Currency::class, 'product_id', 'id');
}
所以你可以这样称呼它:
RAB::with(['products' => function($query) {
$query->with('currencies');
}])->get();
不幸的是,foreign_key和数据透视表中,您无法直接创建货币。productsrabshasmanythrough
您可以按产品调用货币。或者,您可以创建一个透视模型,然后使用 。hasmanythrough
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消