自定义分页器/ formfilter / buildquery不会将过滤器数据处理到查询中

|| 我有一个动作需要使用formfilter,pager和特定的表方法:
$this->filterForm = new OrganisationFormFilter();
$this->filterForm->setTableMethod(\'retrieveMemberOrganisations\');
$this->filterForm->bind($searchParams);
$v = $this->filterForm->getValues();
$q = $this->filterForm->buildQuery($v);

$this->pager = new sfDoctrinePager(\'Organisation\', 50);
$this->pager->setQuery($q->orderBy(implode(\' \',$this->getSort())));
$this->pager->setPage($request->getParameter(\'page\',1));
$this->pager->init();

public function retrieveMemberOrganisations(Doctrine_Query $q){

    $rootAlias = $q->getRootAlias();
    $q->
    select(\"$rootAlias.*\")->
    addSelect(\'m.id, sc.id, cat.id, cat.number_key\')->
    innerJoin (\"$rootAlias.CurrentMember c\")->
    innerJoin (\"$rootAlias.Membership m\")->
    innerJoin (\'m.LatestMembership lm\')->
    innerJoin (\'m.MembershipSubcategory sc\')->
    innerJoin (\'sc.MembershipCategory cat\');

    return $q;

}
问题是根本不处理过滤器设置。我已经检查了$ v中的值是否已设置,但是它们似乎没有反映在$ q中。同样,当我在进入debugMemberOrganisations的条目上停止调试器时,$ q也不禁止过滤器设置。这是我使用的正确代码顺序吗?     
已邀请:
我实际上是使用formFilter来做类似的事情。而不是使用
$q = $this->filterForm->buildQuery($v);
采用
$q = $this->filterForm->getQuery();
我没有使用setTableMethod方法,但认为应该可以。     

要回复问题请先登录注册