私のアプリでは、郵便番号による距離検索を統合したいと考えています。
$result['zipcode'] = $this->Locations->find('all', array('conditions' => array('plz' => $param)));
if (count($city['Plz']) > 1)
$result['city'] = $this->Locations->find('all', array('conditions' => array('ort' => $city['Stadt']['name'], 'plz !=' => $city['Plz']['zipcode'])));
$this->Locations->virtualFields['distance'] = 'ACOS(SIN(RADIANS(Locations.lat)) * SIN(RADIANS('.$city["Stadt"]["lat"].')) + COS(RADIANS(Locations.lat)) * COS(RADIANS('.$city["Stadt"]["lat"].')) * COS(RADIANS(Locations.lng) - RADIANS('.$city["Stadt"]["lng"].')) ) * 6380';
$result['near'] = $this->Locations->find('all', array(
'conditions' => array(
'plz !=' => $param,
'ort !=' => $city['Stadt']['name'],
),
'order' => 'distance ASC'
));
結果を郵便番号順、市区町村(市区町村に郵便番号が多い場合)、近辺順で表示したいので、このようにしました。しかし今、ケーキのページネーションによってこの結果をページネーションしたいと思います。これらのクエリを 1 つ取得することは可能ですか?
$this->Locations->find('all', array('conditions' => array(
'order' => 'RESULTS BY ZIPCODE, RESULTS BY CITY, RESULTS BY MISSMATCH ORDERED BY DISTANCE'
)));
この問題をどのように解決しますか?
M.