我正在使用 CakePHP 2.3,并且正在尝试找到执行关联数据保存的正确方法。我已经设置了一个保存图片数据的图像上传表单,但同时我还想处理保存的图像,以便在保存时我的应用程序应该检查文件并提取所有 exif 数据并将该标签添加为关联的模型标签。
我的关系是
Picture hasMany Tags
Tag belongsTo Picture
现在我正在尝试使用 Picture beforeSave 回调以编程方式将新记录添加到数据数组中,但它不起作用(它没有保存添加的数据)。
图片控制器
$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
)
)
)
如何在不过多使用控制器的情况下实现我想要的效果?我希望我的业务逻辑主要停留在模型上。