我有以下 SQL 架构:
tbl_产品: - ID - id_category
tbl_categories: - ID - id_parent
tbl_products_categories:- id_product - id_category
我的问题是:在我的类别模型中,我必须声明什么样的关系才能从该类别及其子类别中获取所有产品?我可以从关系中获取所有产品,还是必须制定一个方法来循环每个子类别,然后合并所有产品并返回它?
有人有什么想法吗?
最佳答案
嵌套关系(例如类别或菜单项之间的关系)是出了名的棘手。当您有限制(例如子项的最大数量)时,情况会更简单一些。在这种情况下,您的产品标准将包含尽可能多的连接(在这种情况下,我不会使用 Yii 的关系事件记录;在我看来,这会使其变得太复杂)。
否则,是的,最好的选择是递归地循环遍历每个关系并返回一个合并的数组。注意:这可能会非常消耗性能,因此您可能需要在执行此操作的页面上进行某种缓存。
关于php - Yii : Products with MANY_MANY categories and categories may or not has parent. 获取所有产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20336903/