假设一个理论模型Profile
# This is example of my schema.yml
Profile:
columns:
avatar:
type: string(255)
notnull: true我的目标是从上传的文件中生成配置文件的化身:
class Avatar extends BaseAvatar{
public function postSave($e){
if($this->getAvatar()){
// resize/crop it to 100x100
// and save
}
}这种逻辑现在对我来说是可以接受的。但是我的Profile关联记录在每个请求中都会被更新,并提供一些额外的信息。而且,正如您所看到的,尽管avatar字段可能保持不变,但仍然一次又一次地生成了化身文件。
问题:框架如何确定特定字段是否被更新?
注意:我不需要在symfony的操作中进行更新,因为在几个应用程序中重复代码。还是我需要?
发布于 2010-02-01 18:57:43
如果使用窗体呈现配置文件编辑字段,则建议通过重写从saveFile继承的sfFormDoctrine方法将调整大小的代码移到其中。
protected function saveFile($field, $filename = null, sfValidatedFile $file = null)
{
$finalFilename = parent::saveFile($field, $filename, $file);
if($field == 'avatar')
{
// generate thumbnail from $finalFilename
}
}当在窗体上调用save()方法时,将调用该方法。希望这能有所帮助。
https://stackoverflow.com/questions/2176720
复制相似问题