如何解决如何在Laravel中建立模型与数据透视表之间的关系?
我想在multi_price的枢纽中建立product_id与product_id相同的折扣之间的关系,并避免折扣影响其他产品的所有multiprice。
我的折扣模式:
class Discount extends Model
{
public function product()
{
return $this->belongsTo('App\Product','product_id');
}
public function material()
{
return $this->belongsTo('App\Material','material_id');
}
}
多种价格模式:
class Multiprice extends Model
{
public function products()
{
return $this->belongsToMany('App\Product');
}
public function material()
{
return $this->belongsTo('App\Material','material_id')->select('id','title');
}
public function discount()
{
return $this->hasOne('App\Discount','multiprice_id');
}
}
这是我的表演节目:
$product = Product::where('barcode',$barcode)->with('collection.products','inventory','category','catalog','brand','material','size','weight','multiprices.discount','discount','images')->first();
return $product;
这是我返回的示例JSON,但是您可以看到,如果折扣及其在每个产品多价中的作用(而不是唯一一个具有相同ID的产品),则多价中枢的product_id与product_id不匹配。
multiprices: [
{
id: 11,name: "مخمل لطیف",price: "1600000",sort_order: 17,desc: "رومیزی سایز 100 در 100",slug: null,size_id: 6,cat_id: 7,material_id: 6,created_at: "2019-12-21T08:37:27.000000Z",updated_at: "2020-06-27T14:54:40.000000Z",pivot: {
product_id: 2280,multiprice_id: 11
},discount: {
id: 645,name: "",desc: null,price: "320000",uses: 0,max_uses: 1,is_fixed: 0,active: 1,product_id: 2250,multiprice_id: 11,created_at: "یکشنبه 02 شهریور 1399 ساعت 19:04",updated_at: "2020-08-23T12:38:33.000000Z",delete: 0
}
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。