php - Yii : Products with MANY_MANY categories and categories may or not has parent. 获取所有产品

标签 php mysql product yii

我有以下 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/

相关文章:

php - 为什么我的 PHP 类方法在 Visual Studio Code 中不再是 "not compatible with Iterator"?

MySQL 表示 : Documentation #1064

mysql - 如何在 grails 数据源中同时使用 MySQL 和 MSSQL?

php - 在 PHP 上显示特定表列中的 MySQL 行内容(不同表上的相同 .row 名称)

php - 在购物车中保存产品自定义字段值并将其显示在购物车和结帐中

javascript - php显示空数组但ajax显示数据

php - 如何使用骨架项目 'Application' 模块中的错误处理程序来捕获事件回调中的错误?

php - 将 php-ai/php-ml 与 php 一起使用

magento:从前端添加产品

arrays - Excel:sumproducts 的总和