cakephp将this->数据中的字段设置为数据库中的相关字段

时间:2011-01-06 13:37:55

标签: php cakephp cakephp-1.3 saving-data

我正在尝试使用meioupload上传多个图像,如果我为每个数据字段设置image.1.field然后是image.2.field,则可以正常工作。然后循环并创建/保存而不是saveall。

当我有一个字段用作图像文件夹中图像的子文件夹时,我的问题出现了。 例如我有一个表格

image.1.product id image.1.artist image.1.file上传 image.2.product id image.2.artist image.1.file上传

现在保存项目时,所有数据都是正确的,包括产品ID的属关系,但第二个图像存储在错误的位置。 第一个图像存储在images / image.1.artist / file中 第二个图像存储在images / image.1.artist / image.2.artist / file

这非常令人讨厌,它只是与meioupload行为将子文件夹设置为数组中的字段的方式有关。

我不得不求助于保存数据的方法是循环并创建然后保存值,这不是问题,但它显然无法使用这种设置子文件夹的方法。

所以解决方案可能只是将第二个艺术家字段设置为空白,只为同一个艺术家添加多个图像。

或者将艺术家的数据字段设置为图像所属相关产品中艺术家的实际字段,但我似乎无法使其工作?

所以问题是如何将此字段的值设置为数据库中已存在的每个单独创建/保存的相关产品艺术家字段?

PS。如果这有点长篇大论,我很抱歉。

1 个答案:

答案 0 :(得分:1)

正确的问题出现了,因为我发送了$ this->数据作为2个数组。解决方案是阅读this-> image-> product->字段('artist')并将其设置为this-> data ['Image'] [1] ['artist']。

这样它将第一个数组中的字段设置为artist,在这个特定的meioupload行为中将转换到第二个数据数组,从而上传图像(然后以/为后缀)这允许我将图像上传到相应的艺术家目录,同时创建3个缩略图并保存关系,文件信息等。

我发现这似乎对加载图像没有任何影响(即使显示代码有效地有两个/它,图像也能正常工作,因为第二个图像将作为/ dir / artist保存在数据库中/作为保存的第一个姿势/ dir / artist)

如果有人巧妙地一次调用一个meioupload,那么这有望避免这个轻微的问题,然后可以将更多的图像添加到同一个表单中。我不是很聪明地知道如何这样做.. 任何帮助将不胜感激!!!!