0

関連する 2 つのモデルFooBarがあり、ここでBar $belongsTo Fooです。ここで、すべてのFooにBarが必要です。つまり、両方を同時に作成する必要があります。CakePHP のモデリング システムを使用して、 Fooが作成されるたびにBarが自動的に作成される方法はありますか(おそらく a を介して)、または代わりにその機能を に書き込む必要がありますか?saveAll()Foo::afterSave()

助けてくれてありがとう。

4

2 に答える 2

0

うん - Foo と Bar の両方のデータをビルドしてからsaveAll().

于 2013-03-19T14:16:35.907 に答える
0

Daveの回答に追加します。

データベース テーブルがトランザクションをサポートしている場合、通常InnoDB storage engineは MySql で。両方のレコードを一度に保存するよう Cake に指示することもできます。1 つが失敗すると、もう 1 つが元に戻されます。array('atomic' => true)2番目のパラメーターとして渡す必要があります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 に答える