私は CakePHP 2.0 で開発されたサイトを持っています。多くのテーブルを持つデータベースがあり、2 つのテーブルを関連付けたいと考えています。私はこれを何度も行ってきましたが、2 つのテーブルではこれを行うことができず、その理由もわかりません。これは私の2つのテーブルです:
成分エイリアス:
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
component_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つの再帰的な単純なクエリであり、問題はないと思いますが、テーブルとの関係にあります..