【问题标题】:Yii : Products with MANY_MANY categories and categories may or not has parent. Get all productsYii :具有 MANY_MANY 类别和类别的产品可能有也可能没有父级。获取所有产品
【发布时间】:2013-12-03 20:29:07
【问题描述】:

我有以下 SQL 架构:

tbl_products: - ID - id_category

tbl_categories: - ID - id_parent

tbl_products_categories:- id_product - id_category

我的问题是:在我的类别模型中,我必须声明什么样的关系才能从该类别及其子类别中获取所有产品?我可以从关系中获取所有产品,还是必须为每个子类别创建一个循环方法,然后合并所有产品并返回它?

有人知道吗?

【问题讨论】:

    标签: php mysql product yii


    【解决方案1】:

    嵌套关系(例如类别或菜单项之间)是出了名的棘手。当您有限制时,这种情况会稍微简单一些,例如最大孩子数。在这种情况下,您的产品标准将包含尽可能多的连接(在这种情况下,我不会使用 Yii 的关系活动记录;在我看来会不会太复杂)。

    否则,是的,最好的办法是递归地遍历每个关系并返回一个合并的数组。注意:这可能会非常耗费性能,因此您可能希望在执行此操作的页面上进行某种缓存。

    【讨论】:

      【解决方案2】:

      由于是多对多,每个产品都可以关联到当前想要的孩子及其所有的父母,所以当你查询一个父母时,所有的孩子产品也将是父母产品。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 2019-09-03
        • 2017-04-01
        相关资源
        最近更新 更多