使用with关联时如何隐藏中间表
现有结构
预期结构
"labels": [{
"id": 1,
"chatId": 11,
"labelId": 88,
"userId": 60,
"corpId": 11,
"createdAt": "2022-06-15 17:00:52",
"updatedAt": "2022-06-15 17:00:52",
"deletedAt": "",
"label": {
"id": 88,
"name": "陌拜",
"userId": "",
"corpId": "",
"wxId": "et_TouBwAAa4IBrcJU3CkNPW0itIsJHg",
"createdAt": "2022-06-13 19:26:24",
"updatedAt": "2022-06-13 19:26:24",
"deletedAt": ""
}],
当前代码
Model::query()->with('labels', function ($q){
$q->with('label');
})
问题
目前使用laravel时经常会有一种情况
A商品存在多个标签,标签不仅对应商品也可能对应商品组,因此标签也是独立的表。
需要将A商品和标签关联起来需要一张关联表表示商品和标签的关系。
如:
如果with两层,目前laravel查询出的结果会多一层嵌套,咨询一下大家有没有好的方法。
远程一对多关联 了解一下,举例说明:A表和B表是一对多的关系,而B表和C表也是一对多的关系。那么A表和C表就可以以B表为中间表进行远程关联