我有一个用 CakePHP 2.0 开发的网站。我有一个包含许多表的数据库,我想关联两个表。我已经这样做了很多次,但是有两张桌子我不能这样做,我不知道为什么。这是我的两张桌子:
成分别名:
id INT(10) UNSIGNED AUTO_INCREMENT
ingredient_id INT(10)
user_id INT(10)
alias VARCHAR(100) latin1_swedish_ci
活动成分
id INT(10) UNSIGNED
activity_id INT(11)
ingredient_id INT(10)
created DATETIME
成分 ID 是我的外键,这是我的模型,我想制作ingredient_id
我的外键。
class ActivityIngredients extends AppModel{
public $name = 'ActivityIngredients';
public $useTable = 'activity_ingredients';
public $belongsTo = array(
'IngredientAlias' => array(
'className' => 'IngredientAlias',
'conditions' => '',
'order' => '',
'foreignKey' => 'ingredient_id'
)
);
}
class IngredientAlias extends AppModel {
public $name = 'IngredientAlias';
public $useTable = 'ingredient_aliases';
public $belongsTo = array(
'Ingredient' => array(
'className' => 'Ingredient',
'foreignKey' => 'ingredient_id'
),
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'
)
);
public $hasMany = array (
'ActivityIngredients' => array (
'className' => 'ActivityIngredients',
'dependent' => true,
'foreignKey' => false,
'associatedKey' => 'ingredient_id'
)
);
当我在其中创建变量的 var_dump 时,IngredientAlias
什么都没有,是空的,就像它不使用外键一样。为什么?问题出在关系上?我试着写
'foreignKey' => 'ingredient_id'
但没什么..一样
该查询是一个带有 3 个递归的简单查询,我认为全选不是问题,而是与表的关系..