CakePHP 2.2.4에서 haversine 수식을 사용하여 거리를 계산할 때 결과 목록을 페이지 매김하려고하지만, having 절에 계산 된 필드.CakePHP 2.2.4 HAVING 절과 계산 된 필드를 사용하여 결과를 페이지 매김 할 수 없음 - Haversine 수식
나는 이것을 알아 내려고 노력하는 데 많은 시간을 투자했으나 할 수 없습니다. 몇 가지 게시물을 읽었습니다. 몇 가지 방법을 오버라이드해야한다고 말하면서, 다른 것들을 시도해 보았지만 이전 버전의 Cake와는 관련이 있다고 말했습니다.
제발 누군가 정확히 말해 내가이 일을하기 위해해야 할 일이 있습니까? 똑같은 일을 성취하려고 노력한 수백 명의 사람들이 있어야합니다!
'Business' => array(
'conditions' => array(
'Business.is_active' => 1
),
'fields' => array(
'Business.*',
'(6371 * acos(cos(radians(' . $location['Location']['latitude'] . ')) * cos(radians(Business.latitude)) * cos(radians(Business.longitude) - radians(' . $location['Location']['longitude'] . ')) + sin(radians(' . $location['Location']['latitude'] . ')) * sin(radians(Business.latitude)))) AS distance'
),
'group' => array(
'Business.id HAVING distance <= 5',
),
'contain' => array(
'UserReview',
'Certification',
'Package' => array(
'MassageType',
'PackageVariation' => array(
'order' => array(
'cost_in_dollars' => 'ASC'
)
)
)
),
'order' => array(
'distance' => 'ASC',
'Business.name' => 'ASC',
)
)
내가 점점 계속 오류는 다음과 같습니다 : 내가 사용
코드는
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'distance' in 'having clause'
도와주세요!
여기서 가상 필드를 사용하지 않는 이유는 무엇입니까? – mark
저장 프로 시저 및 저장 함수를 사용하여이 작업을 수행하는 것이 가장 좋을 것입니다 –