CakePHP关系保存

时间:2014-09-04 16:15:40

标签: php cakephp model-associations

我有以下需要在Target表中插入的结构:

目标表:

target_id, client_crop_id, amount

ClientCrop 表:

client_crop_id, client_id, crop_id

客户表:

client_id, client_name

裁剪表:

crop_id, crop_name

我的问题是:在插入新目标的那一刻,我的视图具有客户端和裁剪的ID,CakePHP将如何知道目标模型中的字段client_crop_id是因此两者引用的联合?我应该在Target的beforeSave()中调用一个方法来获取ClientCrop的id吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在视图中添加所需的字段:

<?php

echo $this->Form->hidden('ClientCrop.cient_id', array('value' => $yourVar)); 
echo $this->Form->hidden('ClientCrop.crop_id', array('value' => $yourVar));

?>

但我不建议采用这种方法。发布后,尝试直接在控制器操作中设置它:

<?php

$this->request>data['ClientCrop']['client_id'] = $yourVar;
$this->request>data['ClientCrop']['crop_id'] = $yourVar;

?>

然后你应该使用saveAssociated方法。

http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array