[英]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.