【发布时间】:2011-05-17 10:28:08
【问题描述】:
我有一个包含文件上传字段的表单,并且我创建了一个模型行为文件来处理文件处理。
我有两个函数,beforeSave和afterSave:
在 beforeSave 中我做了一些事情,然后将 data 中的文件值设置为 null 以便可以保存它。否则它将尝试保存一个数组,而数据库只需要一个字符串(文件名)
在 afterSave 中,我根据表单上的一些文本字段生成一个新文件名,并在其前面添加 lastInsertId。我还将文件从临时移动到所需位置。 这一切都很好,但是当我尝试将新文件名保存到模型时它就不起作用了。
我做了很多测试和调试,也花了几个小时在网上搜索。结论是afterSave不能保存,它会自己触发,会再次运行beforeSave。
所以我的问题是,如何更新新插入的模型?插入的文件名需要在其名称中包含主键,并且在 beforeSave 时是未知的。
感谢您的帮助! 杰森
【问题讨论】:
标签: php cakephp frameworks