複数のモデルの関連付けでデータを保存しようとしていますが、まったく保存されていません。私はすべて正しく設定しました。つまり、フォームからのデータは問題なく(デバッグはすべてを表示します)、findもデータをフェッチしますが、問題がどこにあるのか理解できませんでした。私のコードは次のとおりです。
コントローラ:
if($url == "expense_reports") { $this->set('tab_content','Invoice - Expense Reports'); $this->render('/job/invoice2');
if($this->request->is('post'))
{//debug($this->data);
$this->Event->Invoice->Expense->save($this->data); }
}
モデル(協会):
イベント
public $belongsTo = array(
'EventType' => array(
'className' => 'AgencyCalendar.EventType',
'foreignKey' => 'event_type_id'
)
);
public $hasMany = array(
'Invoice' => array(
'className' => 'AgencyCalendar.Invoice',
'foreignKey' => 'event_id',
'dependent' => false
)
);
請求書
public $belongsTo = array(
'Event' => array(
'className' => 'AgencyCalendar.Event',
'foreignKey' => 'event_id'
)
);
public $hasMany = array(
'Expense' => array(
'className' => 'AgencyCalendar.Expense',
'foreignKey' => 'invoice_id',
'dependent' => false
)
);
費用
public $belongsTo = array(
'Invoice' => array(
'className' => 'AgencyCalendar.Invoice',
'foreignKey' => 'invoice_id'
)
);
また、実際に何が起こっているのかを調べるために、この特定のアクションのSQLダンプをビューに取得していません。また、経費ビューから生成される複数の行を保存するにはどうすればよいですか。私の経費ビューはカスタムURLなので、SQLダンプが表示されない原因になるのでしょうか、それともデータがまったく保存されない原因になるのでしょうか。私が間違っていることを教えてください。