考虑到其中一个字段已计算(距离),我想执行请求。
我有这样的东西
$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为对象,给定布尔值
可以肯定我做错了,但我不知道该怎么做。
感谢您的帮助:)