我需要覆盖我的表格:
protected function doSave($con = null)
{
$filename= Helper::generateFilename($this->getValue('name')).'jpg';
imagejpeg(Helper::createImage($this->getValues()), sfConfig::get('sf_upload_dir').'/poster/'.$filename );
/* Here I need to set value of *fielname* field of the form equal to
$filename */
parent::doSave($con);
}
Helper.class.php
位于/lib/
,因此它就像一个助手类。
generateFilename
实际上给出了一个随机字符串。由于表格中没有setValue
这样的功能,我被卡住了。
答案 0 :(得分:1)
我尝试了macgyver的方法,但对我没用。不确定我做错了什么。 使用Doctrine,Syfmony版本为1.4。
我必须覆盖表单类中的updateObject()函数。 在我的情况下,它的内部TimesheetForm.class.php。我必须根据用户操作更改时间表的状态。
以下是我尝试过的一段代码。它在保存之前确实更新了对象。这在数据库中受到影响。
public function updateObject($values = null)
{
$object = parent::updateObject($values);
$object->setStatus("Submitted");
return $object;
}
我没有阻止/覆盖doSave()函数。我正在使用symfony 1.4。 希望以上有所帮助。
答案 1 :(得分:0)
您必须使用,比如您已在架构中使用filename
字段来存储图像文件名,$this->object->setFilename($filename);
parent::doSave($con);