我想根据登录用户过滤 SF-1.4 后端模块中选择框的选项。修改/扩展 SQL 查询(即创建 SELECT-Box)的正确位置在哪里?
问问题
469 次
1 回答
2
只需覆盖表单过滤器类中该选择框的小部件/验证器。我可以为您提供更多信息,但我需要知道您使用的是什么 ORM。
sfWidgetFormDoctrineChoice 和 sfValidatorDoctrineChoice 都有一个名为 的选项query
。使用它并设置您的自定义查询。所以你需要在你的过滤器类中做这样的事情:
$query = Doctrine::getTable('Table')->createQuery()->where('field = ?', $field_value);
$this->widgetSchema['your_form_field']->setOption('query', $query);
$this->validatorSchema['your_form_field']->setOption('query', $query);
`
于 2012-09-20T16:17:13.123 回答