查询条件与计算字段

时间:2019-03-25 13:54:42

标签: php sql symfony query-builder

考虑到其中一个字段已计算(距离),我想执行请求。

我有这样的东西

$qb = $this->createQueryBuilder('p')
    ->andWhere('p.isPublicPlace = :classic')
    ->andWhere('p.titlePlace LIKE :search OR p.categoryPlace LIKE :search')
    ->andWhere('p.categoryPlace LIKE :categoryPlace')

这正在工作。

现在,我将在距离计算之后添加一些过滤器

$dist = "ACOS( SIN( RADIANS(latitude))* SIN( RADIANS('.$user_lat.')) + COS( RADIANS(latitude)) * COS(RADIANS('.$user_lat.')) * COS(RADIANS(longitude) - RADIANS('.$user_lng.'))) * 6380) as distance";


$qb = $this->createQueryBuilder('p')
    ->select($dist)
    ->andWhere('p.isPublicPlace = :classic')
    ->andWhere('p.titlePlace LIKE :search OR p.categoryPlace LIKE :search')
    ->andWhere('p.categoryPlace LIKE :categoryPlace')
    ->having('distance' < ':maxDistance')
    ->orderBy('distance')

但这不起作用,我在行上显示一条错误消息

  

(1/2)ContextErrorException   警告:get_class()期望参数1为对象,给定布尔值

可以肯定我做错了,但我不知道该怎么做。

感谢您的帮助:)

0 个答案:

没有答案