簡體   English   中英

Mysql Group Yii活動記錄的日期/時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM