Yii2-日期未显示在仪表板记录中

时间:2017-12-07 05:29:15

标签: php mysql arrays date yii2

我有一个仪表板,我在其中显示有关Meters的一些信息。列名称为TeamStatusBalanceDate

表中显示的结果是从query生成的。

SELECT meters.meter_status, COUNT(meters.meter_msn) AS total ,user_groups.title,
CASE 
WHEN meters.meter_status= 'Installation Ready' THEN CAST(issue_meters.created_at AS DATE)
WHEN meters.meter_status= 'Installed' THEN CAST(installations.created_date AS DATE)
WHEN meters.meter_status= 'Communication Failed' THEN CAST(installations.created_date AS DATE)
ELSE CAST(meters.created_at AS DATE) END AS created_at
FROM meters
INNER JOIN issue_meters ON (issue_meters.meter_serial=meters.meter_msn)
INNER JOIN user ON (user.id = meters.issued_user) 
INNER JOIN user_groups ON (user_groups.id = user.group_id)
LEFT JOIN installations ON (installations.meter_msn=meters.meter_msn)
WHERE  meters.meter_status IN ('Installation Ready','Communication 
Failed','Installed')
AND user_groups.id = 10
GROUP BY meters.meter_status,user_groups.title, created_at

SqlYog中的输出

enter image description here

现在,当我尝试在我的信息中心中看到这些结果时,所有数据都显示在Date上。

动作控制器

 public function actionTeampro($team_id)
{

    //$team_id = isset($_REQUEST['team_id']) ? $_REQUEST['team_id'] : '';

    $where = "";
    if ($team_id != '') {
        $where = " AND `user_groups`.`id`=" . $team_id;
    }
    $sql = "SELECT meters.`meter_status`, COUNT(`meters`.`meter_msn`) AS total ,`user_groups`.`title`,
            CASE 
            WHEN meters.`meter_status`= 'Installation Ready' THEN CAST(`issue_meters`.`created_at` AS DATE)
            WHEN meters.`meter_status`= 'Installed' THEN CAST(`installations`.`created_date` AS DATE)
            WHEN meters.`meter_status`= 'Communication Failed' THEN CAST(`installations`.`created_date` AS DATE)
            ELSE CAST(`meters`.`created_at` AS DATE) END AS created_at
            FROM `meters` 
            INNER JOIN `issue_meters` ON (`issue_meters`.`meter_serial`=`meters`.`meter_msn`)
            INNER JOIN `user` ON (`user`.`id` = `meters`.`issued_user`) 
            INNER JOIN `user_groups` ON (`user_groups`.`id` = `user`.`group_id`)
            LEFT JOIN `installations` ON (`installations`.`meter_msn`=meters.`meter_msn`)
            WHERE  meters.`meter_status` IN ('Installation Ready','Communication Failed','Installed')
            $where
            GROUP BY meters.`meter_status`,`user_groups`.`title`, created_at";

    $rows = Yii::$app->db->createCommand($sql)->queryAll();

    $output = [];
    $grandtotal = 0;
    foreach ($rows as $row) {
        $std = new \stdClass();
        $std->title = $row['title'];
        $std->count = $row['total'];
        //echo $row['status'].",";
        $std->status = $row['meter_status'];
        $std->created_at = $row['created_at'];
        $grandtotal += $std->count;
        $output[] = $std;
    }
    return $this->renderPartial('progress', ['model' => $output, 'grandtotal' => $grandtotal]);
}

查看

<div class="box-body">
        <div class="table-responsive">
            <table class="table no-margin">
                <thead>
                <tr>
                    <th>Team</th>
                    <th>Status</th>
                    <th>Balance</th>
                    <th>Date</th>
                </tr>
                </thead>
                <tbody id="dashboard-team-progress">

                </tbody>
            </table>
        </div>
    </div>

信息中心输出

enter image description here

我也转储rows喜欢

var_dump($rows);
exit();

我得到的输出是

array(5) { [0]=> array(4) { ["meter_status"]=> string(18) "Installation Ready" ["total"]=> string(1) "2" ["title"]=> string(27) "Accurate Meter Installation" ["created_at"]=> string(10) "2017-12-03" } [1]=> array(4) { ["meter_status"]=> string(18) "Installation Ready" ["total"]=> string(1) "1" ["title"]=> string(27) "Accurate Meter Installation" ["created_at"]=> string(10) "2017-12-05" } [2]=> array(4) { ["meter_status"]=> string(9) "Installed" ["total"]=> string(2) "14" ["title"]=> string(27) "Accurate Meter Installation" ["created_at"]=> string(10) "2017-12-04" } [3]=> array(4) { ["meter_status"]=> string(9) "Installed" ["total"]=> string(2) "10" ["title"]=> string(27) "Accurate Meter Installation" ["created_at"]=> string(10) "2017-12-05" } [4]=> array(4) { ["meter_status"]=> string(9) "Installed" ["total"]=> string(1) "7" ["title"]=> string(27) "Accurate Meter Installation" ["created_at"]=> string(10) "2017-12-06" } }

我不知道为什么日期没有显示,因为转储created_at是日期。

任何帮助都将受到高度赞赏。

0 个答案:

没有答案