[英]Mysql Group Yii Active Record by Date/Time
此代碼返回預定帖子的列表(名稱,日期時間)。
$criteria = new CDbCriteria;
$criteria->select='name, datetime';
$criteria->condition='datetime>:datetime';
$criteria->params=array(':datetime'=>date('Y-m-d H:i:s'));
$criteria->order='DATE_FORMAT(datetime, "%d/%m/%Y") ASC';
$models = Posts::model()->findAll($criteria);
我想將d / m / Y日期相同的GROUP帖子分組,然后僅代表每個日期的H / i / s,可能嗎?
喜歡:
Array
(
[2000/10/10] => Array
(
[1] => Array
(
[name] = Post 1
[time] = 12:10
)
[2] => Array
(
[name] = Post 2
[time] = 16:20
)
[3] => Array
(
[name] = Post 3
[time] = 20:30
)
)
[2000/10/11] => Array
(
[6] => Array
(
[name] = Post 6
[time] = 10:00
)
)
)
為了獲得時間,您應該選擇
$criteria->select='name, DATE_FORMAT(datetime, "%h:%i") as time';
$criteria->group='date(datetime)';
為了獲得所需的O / P使用PHP邏輯
我不知道您的結果看起來如何,但是您當然可以做到。 嘗試這樣的事情:
$array[$models["date"]][]["name"] = $models["name"];
$array[$models["date"]][]["time"] = $models["time"];
有一個簡單的擴展程序可以處理此問題,稱為XDateView (免責聲明:我是作者),它特定於顯示按日期分組的記錄。 如果您需要更高級/可配置的功能,則可以使用另一個名為GroupGridView的出色擴展,該擴展具有許多功能,並允許您進行更多的自定義和控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.