MongoDBでモデルをテストしています。私は2つのモデル:レシピと タグを持っています。 MongoDBとのCakePHPモデルの関連付けを正しく作成しました
class Recipe extends AppModel {
var $name = 'Recipe';
var $mongoSchema = array(
'name' => array('type' => 'string'),
'description' => array('type' => 'string'),
'tags' => array('type' => 'array'), //the tags "tag" value
'created' => array('type' => 'datetime'),
'modified' => array('type' => 'datetime'),
);
var $hasAndBelongsToMany = array(
'Tag' =>
array(
'className' => 'Tag',
'joinTable' => 'recipe',
'foreignKey' => '_id',
'associationForeignKey' => 'tags',
'unique' => true,
)
);
}
class Tag extends AppModel {
var $name = 'Tag';
var $mongoSchema = array(
'tag' => array('type' => 'string'),
'description' => array('type' => 'string'),
'created' => array('type' => 'datetime'),
'modified' => array('type' => 'datetime'),
);
var $hasAndBelongsToMany = array(
'Recipe' =>
array(
'className' => 'Recipe',
'joinTable' => 'recipe',
'foreignKey' => 'tags',
'associationForeignKey' => '_id',
'unique' => true,
)
);
}
レシピは、多くのタグとヴィーカのその逆を持っていますが、それはモデルHABTMなどが伝統的なSQLリレーショナルデータに中継するようCakePHPの団体を経由してのMongoDBと正しくマッピングされるようにどのように私は正しくこの を表しているのですか?
さらに、レシピを削除するかタグを削除するときに、関係が正しく管理されるようにするにはどうすればよいですか?
私は関係を管理するための動作を作成する必要があると思われます。 I. hasReferenceとhasReferencedはhasOne、hasAndBelongsToManyなどと同じです。
https://github.com/lorenzo/MongoCake –