基本上,我希望在MySQL中实现与ON DUPLICATE KEY相同的功能。
这是一个人为的例子:
$rec = array('Foo' => array( 'id' => 999, // Assume there isn't already a record with this id 'website' => 'google' )); $this->Foo->save($rec); // save with different 'website' value $rec['Foo']['website'] = 'stackoverflow'; $this->Foo->save($rec);
最后一行是否更新了几行创建的记录?
答案 0 :(得分:10)
如果您致电save()
,提供现有id
的记录(或任何主键),它将会更新,否则会创建新记录。
所以在你的情况下,是的,它会更新最初在顶部创建的记录。
<强>更新强>
这是the supporting documentation:
创建或更新由 模型的id字段。如果$ Model-&gt; id是 设置,具有此主键的记录 已更新。否则新的记录是 创建
根据Model::save()
的文档。