1

我现在正在我的代码中建立一对多的关系。下面是我的数据库:

TABLE: categories
FIELDS: category_id (primary)
        categoryName


TABLE: products
FIELDS: id (primary)
        productName
        category_id

我希望 products.category_id 与 categories.category_id 通信,以便它选择具有相应 category_id 的产品。但是在我的代码中实际发生的是它通过我的产品中的 id 选择 category_id ,这是我的主键,它是这样的:

SELECT `Category`.`category_id`, `Category`.`categoryName`, `Category`.`description`, `Category`.`picture` FROM `categories` AS `Category` WHERE `Category`.`category_id` IN (3, 5, 6)

值:3,5,6 是我的产品表中三个产品的主键。但应该是这样的

SELECT `Category`.`category_id`, `Category`.`categoryName`, `Category`.`description`, `Category`.`picture` FROM `categories` AS `Category` WHERE `Category`.`category_id` IN (1, 2, 3)

其中值: 1,2,3 是我的产品表中的 category_id 对应于我的类别表中的 category_id

任何帮助将不胜感激。

4

1 回答 1

0

确保您的模型关联设置正确:

//Category model
public $hasMany = array('Product');

//Product model
public $belongsTo = array('Category');

并将Category.category_id 更改为 just Category.id

于 2012-05-02T02:24:22.293 回答