2007年09月20日

Sorting Model data with usort()

For example, if you want to achive like this:


Controller -------------------
$data1 = $this->Reservation->findAll();
$data2 = $this->AdditionalReservation->findAll();

//If needed, change $data2's array name
"AdditionalReservation" to "Reservation". Then,

$data = array_merge($data1, $data2);

$data = $this->Reservation->sortbytime($data);
$this->set("reservations", $data);
------------------------------

You can use this technique.

Model ------------------------
function myCmp($array1, $array2)
{
$time1 = strtotime($array1['Reservation']['rsv_time']);
$time2 = strtotime($array2['Reservation']['rsv_time']);
if($time1 == $time2){
return 0;
}
return ($time1 > $time2)? 1 : -1;
}

function sortbytime($data)
{
usort($data, array("Reservation", "myCmp"));
return $data;
}
------------------------------
ラベル:tips cakephp Model
posted by SDozono at 11:44| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
手(パー)To make a comment: Please type your name and comment. at the validation field box, type 'cakephp'. And there two glay buttons. "Preview"/"Submit". Thank you!