我正在使用CakePHP 2.3,我正在尝试找到执行相关数据保存的正确方法。 我已经设置了一个保存图片数据的图片上传表单,但同时我也想处理保存的图片,以便在保存时我的应用程序应该检查文件并提取所有exif数据并将该标签添加为关联的模型标签。
我的关系是
Picture hasMany Tags
Tag belongsTo Picture
现在我正在尝试使用Picture beforeSave回调以编程方式将新记录添加到数据阵列但它不起作用(它不保存添加的数据)。
PictureController
$this->Picture->create();
$this->Picture->saveAll($this->request->data);
beforeSave之后的数据数组
Array
(
[Picture] => Array
(
[field1] => foo
[field2] => bar
)
[Tag] => Array
(
[0] => Array
(
[tag] => example
[value] => example
)
[1] => Array
(
[tag] => example 2
[value] => example 2
)
)
)
如何在不弄乱控制器过多的情况下实现我想要的目标?我想要我的生意 逻辑主要停留在模型上。
答案 0 :(得分:0)
你需要使用深度才能实现这一目标。根据食谱:
使用$ options ['deep'] = true(自2.1起)保存相关数据
示例
$Model->saveMany($data, array('deep' => true));
$Model->saveAssociated($data, array('deep' => true));
查看cookbook了解详情