我有商品表goods;有商品規(guī)格表 goods_sku;還有商品分組表goods_sku_group;
goods_sku里面有g(shù)oods_id和group_name;goods_sku_group里面有g(shù)oods_id和Name;其中 goods_sku的group_name和goods_sku_group的name一致;
所以我在查詢 某個(gè)商品的分組時(shí)下面有哪些規(guī)格我就會(huì)在goods_sku_group建立一對(duì)多goods_sku關(guān)聯(lián),關(guān)聯(lián)字段時(shí) group_name 和name;
控制器;
$where['goods_id'] = 1;
$list = GoodsSkuGroupModel::with([ 'sku:id,name,attribute,goods_id,moq,price,stock,is_retail,group_name,delivery_template_id'])->where($where)->select($select)->get()->toArray();
模型:
在GoodsSkuGroupModel里:
public function sku() : HasMany
{
return $this->hasMany(GoodsSkuModel::class , 'group_name' , 'name'')
->where('status' , GoodsStatusEnum::ENABLE->value)->orderByDesc('sort');
}
上現(xiàn)在表里是不同goods_id對(duì)應(yīng)的name重復(fù)了。比如 goods_id =1/2時(shí),,name = 'a';
通過(guò)以上代碼,查詢goods_id=1時(shí),下面的分組對(duì)應(yīng)的sku。。就會(huì)把goods_id=2時(shí)的分組名稱的'a'的sku也查詢出來(lái)。就會(huì)重復(fù)。