0

我有两个相关的模型,FooBar,其中Bar $belongsTo Foo。现在每个Foo都必须有一个Bar,即两者必须同时创建。使用 CakePHP 的建模系统,有没有办法在创建Foo时自动创建Bar(可能通过 a ),或者我应该将该功能写入Foo吗?saveAll()Foo::afterSave()

谢谢您的帮助。

4

2 回答 2

0

是的 - 只需为 Foo 和 Bar 构建您的数据,然后saveAll().

于 2013-03-19T14:16:35.907 回答
0

添加到Dave的答案。

如果您的数据库表支持事务,通常InnoDB storage engine在 MySql 中。您还可以告诉 Cake 尝试一次性保存两条记录。如果一个失败,另一个将被还原。您需要array('atomic' => true)作为第二个参数传递给saveAll()

$this->ModelName->saveAll($this->request->data, array("atomic" => true));

来自食谱

atomic: If true (default), will attempt to save all records in a single transaction. 
Should be set to false if database/table does not support transactions.
于 2013-03-19T14:24:38.943 回答