我正在使用最新版本的cake php 2.3.2。 我有三张桌子:
域模型具有以下关联:
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 ...我不想多次使用相同的记录。
答案 0 :(得分:0)
通过保持现有的关联,是不是应该如何工作?我想你必须使用
'unique' => 'true'
获得你想要的东西。