[英]Cakephp - Saving directly to HABTM table
我正在嘗試將數據直接保存到HABTM表offers_students
我這樣做是因為此表中有一個字段需要在控制器中手動設置。
設置“ owing”字段后,我的$ this-> data數組當前看起來像這樣。
Array
(
[OfferingsStudent] => Array
(
[OfferingsStudent] => Array
(
[0] => Array
(
[offering_id] => 35
[owing] => 209.00
[student_id] => 31
)
)
)
)
該表格可以進行多種選擇,因此我必須能夠將多個記錄保存到HABTM表中。
我的保存語句: $this->Student->OfferingsStudent->save($this->data)
問題是記錄沒有被添加到表中。 我必須能夠通過一個表單提交將多個記錄添加到表中。
我必須補充說,正在創建記錄,但是所有字段最終都為零。
編輯:
更改了數組以嘗試提交解決方案,但是仍然沒有運氣。
$ this-> data數組:
Array
(
[OfferingStudent] => Array
(
[0] => Array
(
[offering_id] => 35
[owing] => 209.00
[student_id] => 31
)
)
)
您還沒問過問題。 您嘗試保存的問題是否奏效? 您是要插入新記錄還是更新新記錄?
如果只是插入,請嘗試以下操作:
$data = array(
[offering_id] => 35
[owing] => 209.00
[student_id] => 31
);
$this->OfferingsStudent->save($data);
那將直接保存到表中。 您無需為此創建模型。
編輯
要添加多個:
$data = array(
'OfferingStudent' => array(
array(
[offering_id] => 35
[owing] => 209.00
[student_id] => 31
),
array(
[offering_id] => 32
[owing] => 100
[student_id] => 30
)
)
);
$this->OfferingsStudent->saveAll($data);
Scoot Harwell在Edit中生成的數組可以很好地保存saveAll,但是執行此操作的代碼必須為:
$this->OfferingsStudent->saveAll($data['OfferingStudent']);
我有同樣的問題,經過很多時間終於找到了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.