CakePHPでテーブル結合後、取得した要素のソーティング方法。
以下の質問者です。
CakePHPのページネーション処理で検索条件が想定どおりに反映されない
こちらのコントローラの記述で無事に変数$eventsの一覧は取得する事ができました。
さらに発展させて、他のテーブルからデータを結合したのですが、今度はそちらのソーティングがうまくいかなくなってしまいました。
// ページネーション
$this->paginate = array(
'limit' => 20,
'paramType' => 'querystring',
'conditions'=> array('Event.id' => $event_ids),
);
$events = $this->paginate('Event');
//別のEvents_calendarに登録されているstartdateを結合
for($i=0; $i<count($events); $i++) {
// カレンダーを結合
$options = array('conditions' => array('Events_calendar.event_id' => $events[$i]['Event']['id']));
$events_calendar = $this->Events_calendar->find('first', $options);
if(isset($events_calendar['Events_calendar']['startdate'])) {
$events[$i]['Event']['startdate'] = $events_calendar['Events_calendar']['startdate'];
// startdateを年月日に分ける
// 2015-05-03 00:00:00
$tmp1_created = array();
$tmp2_created = array();
$tmp1_created = split(' ', $events[$i]['Event']['startdate']);
$tmp2_created = split('-', $tmp1_created[0]);
// イベント日をMM/DDに変更
$event_date[$i] = $tmp2_created[1].'/'.$tmp2_created[2];
$events[$i]['Event']['event_date'] = $event_date[$i];
} else {
$events[$i]['Event']['startdate'] = null;
}
}
$this->set('events', $evetns);
上記で取得した$eventsをevent_date
で日付が近い順にソーティングしたいのですが、想定している結果に繋がりません、、、、、
何か良い方法をご存知の方ご教授願います。