0

在配置我的管理生成器时,我为我的列表视图创建了一个 table_method,以便加入正确的表等等。

但是,在我的编辑帖子/创建帖子部分中,我有一个相当广泛的下拉列表,目前没有加入。是否有一个等效于 table_method 的方法,我可以在这些情况下使用它来指定应该用于检索记录的方法?

提前致谢。

4

1 回答 1

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');
于 2010-08-13T12:49:27.787 回答