我試圖使用計算haversine公式CakePHP中2.2.4距離時進行分頁結果的列表,但我發現周圍的錯誤在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 2013-02-12 13:16:57
你最好在mysql中使用存儲過程和存儲函數 – 2013-02-12 14:15:16