有没有可能的方法可以操作我的cakephp模型关联中的外键?

时间:2012-05-02 01:24:58

标签: sql cakephp model

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

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是我的products表中的category_id,对应于我的类别表中的category_id

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

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

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

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

并将Category.category_i d更改为Category.id