0

Cake php 2.3.2 の最新バージョンを使用しています。私は3つのテーブルを持っています:

  1. ドメイン
  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 を使用しました... 同じレコードを複数回使用したくありません。

4

1 に答える 1