こんにちは、cakephp でサイトを開発しています。私は2つのテーブルを持っています: Ingredient Property
テーブル間の関係は、HasAndBelongsToMany(HABTM) です。これは私のモデルです:
class Ingredient extends AppModel {
public $name = 'Ingredient';
public $useTable = 'ingredients';
public $belongsTo = 'User';
public $hasAndBelongsToMany = array (
'Property' => array (
'className' => 'Property',
'joinTable' => 'ingredients_properties',
'foreignKey' => 'ingredient_id',
'associationForeignKey' => 'property_id',
'unique' => false
)
);
}
class Property extends AppModel{
public $name = 'Property';
public $useTable = 'properties';
}
IngredientController に、このモードで試した新しいプロパティを追加する必要があります。
$this->Ingredient->Property->create();
$this->Ingredient->Property->set('user_id',$this->Session->read('Auth.User.id'));
$this->Ingredient->Property->set('ingredient_id',$ing['IngredientAlias']['ingredient_id']);
if ($this->Ingredient->Property->save($this->request->data)){
$this->set('flash_element','success');
$this->Session->setFlash ('Ingrediente modificato con successo.');
$this->redirect(array('action'=>'edit',$alias));
}
else{
$this->set('flash_element','error');
$this->Session->setFlash('Errore di salvataggio activity');
}
データベースに新しいレコードを挿入します。このモードでは、Ingredients hasMany Properties に似ていますが、正しくありません。どうすれば解決できますか?または、手動で components_properties にレコードを作成する必要がありますか?