如何在过滤元素时使sql查询显示每一行?

问题描述 投票:0回答:1

我正在使用sequelize作为ORM通过“ category_id”过滤我的建立表。我的[[问题是我被category_id = 11过滤时,巫婆产生了类似::>查询查询:

WHERE `subcategories`.`category_id` = 11;

给定JSON(仅包含一个子类别行)

"establishments": [ { "id": 11, "name": "Tasco do Ti efe", "subcategories": [ { "category_id": 11, "category_type": "fashion", "SubCategoryEstablishements": { "sub_category_id": 31, "establishment_id": 11, "createdAt": "2020-04-26 13:39:20", "updatedAt": "2020-04-26 13:39:20" } } ], ]

我希望能够找到合适的餐厅,并像这样拥有所有属于他的子类别:

"establishments": [ { "id": 1, "name": "Melhor efef", "subcategories": [ { "category_id": 21, "category_type": "beautycara", "SubCategoryEstablishements": { "sub_category_id": 41, "establishment_id": 11, "createdAt": "2020-04-26 13:39:20", "updatedAt": "2020-04-26 13:39:20" } }, { "category_id": 11, "category_type": "fashion", "SubCategoryEstablishements": { "sub_category_id": 31, "establishment_id": 11, "createdAt": "2020-04-26 13:39:20", "updatedAt": "2020-04-26 13:39:20" } }, { "category_id": 31, "category_type": "homefamily", "SubCategoryEstablishements": { "sub_category_id": 51, "establishment_id": 11, "createdAt": "2020-04-26 13:39:20", "updatedAt": "2020-04-26 13:39:20" } } ],

为了使这种情况发生,我应该对查询进行哪些更改? 

我正在使用sequelize作为ORM通过“ category_id”过滤我的Establishment表。我的问题是我按category_id = 11进行了筛选,生成的内容类似于:查询作出:WHERE`...

mysql node.js sequelize.js
1个回答
0
投票
您需要定义表establishmentsubcategory的两个不同关联。一个关联将用于过滤,而另一个关联将用于连接establishmentsubcategory
© www.soinside.com 2019 - 2024. All rights reserved.