配置我的管理员生成器时,我为列表视图创建了一个table_method,以便加入正确的表格,等等。
但是,在我的编辑帖子/创建帖子部分中,我有一个相当广泛的下拉列表,目前尚未加入。我是否可以使用table_method这些情况来指定应该用于检索记录的方法?
提前致谢。
答案 0 :(得分:1)
您需要修改表单类中的相应窗口小部件。 (lib / form / doctrine中的SomeModelForm.class.php)。
所有Doctrine小部件都接受“查询”选项,允许您传递Doctrine查询以覆盖表单创建的默认查询,或者“table_method”选项可以返回查询或学说集合 - 默认值。
作为参考,请参阅:http://www.symfony-project.org/api/1_4/sfWidgetFormDoctrineChoice
使用查询,类似于:
$somedoctrinequery = Doctrine::getTable('ModelName')->createQuery('t')->leftJoin('t.Relation r');
$this->widgetSchema['field_name']->setOption('query', $somedoctrinequery);
或者使用table_method:
$this->widgetSchema['field_name']->setOption('table_method', 'myMethod');