Ezpublish:按Criterion \ Location \ Depth搜索位置不起作用

时间:2015-08-12 14:30:30

标签: php ezpublish

我有2014年的Ezpublish社区项目 我试图使这段代码有效:

    $criteria = array(
      new Criterion\Subtree( '/2/' ),
      new Criterion\Location\Depth( Criterion\Operator::BETWEEN,  array(0, 100) ),
    );

    $query = new LocationQuery(
    array(
      'criterion' => new Criterion\LogicalAnd( $criteria ),
      'sortClauses' => array( new SortClause\Location\Priority( Query::SORT_ASC ) )
      )
    );
    $query->limit = 3;
    $query->offset = 0;

    $result = $searchService->findLocations( $query );

它不会返回任何结果。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你的查询很乱。我清理并将LogicalAnd移至变量query。您的代码应如下所示:

$query = new LocationQuery();
$query->query = new Criterion\LogicalAnd(
    array(
        new Criterion\Subtree( '/2/' ),
        new Criterion\Location\Depth( Criterion\Operator::BETWEEN,  array(0, 100) )
    )
);
$query->sortClauses = array( new Query\SortClause\Location\Priority( Query::SORT_ASC ) );
$query->limit = 3;
$query->offset = 0;

$result = $this->searchService->findLocations( $query );