drm30963 2019-03-25 13:54
浏览 26

查询条件与计算字段

I would like to perform a request considering one of the field is calculated (distance).

I've got something like this

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

This is working.

Now I will add some filter after a distance calculation

$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')

But this is not working I have an error message on the having line

(1/2) ContextErrorException Warning: get_class() expects parameter 1 to be object, boolean given

Pretty sure I'm doing all wrong but I don't know how it can be done.

Thanks for your help :)

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)
    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化