php - 亲子关系

标签 php mysql

选择父类别时将产品分配给子类别的最佳方式是什么?

即,如果我选择顶级类别,我希望获取所有子类别中的所有产品,而不仅仅是分配给所选当前级别的产品。

因此选择类别 1 将返回 prod_id 1 和 2。选择类别 2 将返回 prod_id 2。

**category**
id parent_id name
1     0       Vegetables
2     1       Tomatoes
3     2       Yellow Tomatoes

**product_category**
prod_id cat_id
  1       1
  2       3

**products**
prod_id name
  1       Carrot
  2       Small Yellow Tomato

最佳答案

此查询是您要查找的吗?

$query =<<<MYSQL
 SELECT `prod_id`
 FROM `produdct_category` 
  INNER JOIN `category` ON `product_category`.`cat_id` = `category`.`id`
 WHERE `category`.`parent_id` = {$selectedParentId}
MYSQL;

更新的问题,更新的答案:

$query =<<<MYSQL
 SELECT *
 FROM `produdcts` 
  INNER JOIN `produdct_category` ON `products`.`prod_id` = `produdct_category`.`prod_id`
  INNER JOIN `category` ON `product_category`.`cat_id` = `category`.`id`
 WHERE `category`.`id` = {$selectedCatId}
   OR `category`.`parent_id` = {$selectedCatId}
MYSQL;

关于php - 亲子关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431577/

相关文章:

PHP 为什么在构造中启动数据库连接不好?

php - 为什么要为 doctrine2 类使用 getter setter

PHP fatal error : Allowed memory size - on a non-existent line

PHP Header Content-Disposition : attachment forces . php 文件或内联

PHP/MYSQL - 无法获取每个条目的 ID

php - 如何将行数组传递给 PDO 以插入它们?

PHP Mime 类型检查的替代方法吗?

php - 使用 PHP 从查询中进行 Foreach 循环

C# asp.net MySQL 值返回为 Null

php - 如何在 json 的帮助下使用 PHP,MySql 在 android 中验证用户登录凭据