我现在正在我的代码中建立一对多的关系。下面是我的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
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
确保您的模型关联设置正确:
//Category model
public $hasMany = array('Product');
//Product model
public $belongsTo = array('Category');
并将Category.category_i
d更改为Category.id
。