Symfony1 sfDoctrineGuardPlugin和管理过滤器
我有一个使用Symfony1 sfDoctrineGuardPlugin和管理过滤器,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我有一个使用sfDoctrineGuardPlugin的管理员。我还有另一个表,sf\u guard\u user\u profile,它扩展了sf\u guard\u user表,以包含更多字段,如地址、年龄等 我的问题是,在查看管理生成模块中的记录时,我正在将配置文件(sf\u guard\u user\u profile)信息嵌入到sf\u guard\u user记录中。这很好,但是我希望能够使用sf\u guard\u user\u profile表中的一些过滤器 我曾试图将它们添加到
sfDoctrineGuardPlugin
的管理员。我还有另一个表,sf\u guard\u user\u profile
,它扩展了sf\u guard\u user
表,以包含更多字段,如地址、年龄等
我的问题是,在查看管理生成模块中的记录时,我正在将配置文件(sf\u guard\u user\u profile
)信息嵌入到sf\u guard\u user
记录中。这很好,但是我希望能够使用sf\u guard\u user\u profile
表中的一些过滤器
我曾试图将它们添加到generator.yml
文件中,但我发现这会引发一个错误
发电机
...................
filter:
display: [username, email_address, address_1, is_active ]
Widget "address_1" does not exist.
地址1是sf\u-guard\u-user\u-profile中的一个字段
这可能吗
谢谢好的,所以我不得不在
sfguardusterformfilter
课程中做一些工作
$this->widgetSchema['age'] = new sfWidgetFormInputText(array(
'label' => 'Age'
));
//Type of validator for filter
$this->validatorSchema['age'] = new sfValidatorPass(array ('required' => false));
public function getFields()
{
$fields = parent::getFields();
$fields['age'] = 'age';
return $fields;
}
public function addAgeColumnQuery($query, $field, $value)
{
$rootAlias = $query->getRootAlias();
$query->where('p.age LIKE ?', '%'.$value.'%');
//remember to return the $query!
return $query;
}
然后我可以使用generator.yml
文件中的age
字段
谢谢