表:销售,地块(付款方式)和配方。
HABTM:SalePlotRecipe。
* EXAMPLE *
SalePlotRecipe (
id PrimaryKey,
sale_id ForeignKey,
plot_id ForeignKey,
recipe_id ForeignKey
)
创建或更新销售地块时,应使用销售中填写的数据更新收入。
销售可能会或可能不会分配,但所有销售都有配方。
表I的结点以正确的方式连接三个表?如何为3个表创建记录并更新它们?什么数据格式? CakePHP使用的功能是什么以及如何使用?我尝试了各种表单并更新了重复记录
答案 0 :(得分:0)
您应该使用saveAll功能插入以及使用清真PHP更新数据。 当您提供特定格式的数据时,这也将插入和更新相关模型的数据。
$this->SomeModel->saveAll($data, array(
'fieldList' => array(
'SomeModel' => array('field_1'),
'AssociatedModel' => array('field_2', 'field_3')
)
));
单个关联记录的格式:
Array
(
[Student] => Array
(
[first_name] => Joe
[last_name] => Bloggs
)
[Course] => Array
(
[name] => Cake
)
[CourseMembership] => Array
(
[days_attended] => 5
[grade] => A
)
)
多个相关记录的格式:
Array
(
[0] => Array
(
[CourseMembership] => Array
(
[id] => 1
[student_id] => 1
[course_id] => 1
[days_attended] => 5
[grade] => A
)
[Student] => Array
(
[id] => 1
[first_name] => Joe
[last_name] => Bloggs
)
[Course] => Array
(
[id] => 1
[name] => Cake
)
)
)
如果您的数组中有主要字段,则更新与保存类似,然后更新,否则插入。请参阅此链接以获取更多信息。您提供其他表格的结构,然后我可以帮助您使用所需的格式http://book.cakephp.org/2.0/en/models/saving-your-data.html