Cake php 2.3.2 の最新バージョンを使用しています。私は3つのテーブルを持っています:
- ドメイン
- キーワード
- domain_keywords
ドメイン モデルには次の関連付けがあります。
public $hasAndBelongsToMany = array(
'Keyword' =>
array(
'className' => 'Keyword',
'joinTable' => 'domains_keywords',
'foreignKey' => 'domain_id',
'associationForeignKey' => 'keyword_id',
'unique' => 'keepExisting'
)
);
キーワード モデル:
public $hasAndBelongsToMany = array(
'Domain' =>
array(
'className' => 'Domain',
'joinTable' => 'domains_keywords',
'foreignKey' => 'keyword_id',
'associationForeignKey' => 'domain_id',
'unique' => 'keepExisting'
)
);
ご覧のとおり、KeepExistingを使用しました
今、私はこの方法でこのテーブル内にレコードを追加しています:
$this->Domain->DomainsKeyword->save(
array(
'domain_id' => $domain_id,
'keyword_id' => $key_id
)
)
保存は問題ありませんが、何度も行うと、データベースでレコードが繰り返されます。なんで?keepexisting を使用しました... 同じレコードを複数回使用したくありません。