<?php
$query1 = (new \yii\db\Query())
->select(["DATE_FORMAT(approvedate, '%m-%Y') as c_date", 'sum(totalhours) as total', 'count(sku) as sku'])
->from('sku3d')
->where(['status' => 'Approved'])->orWhere(['status' => 'Cancelled'])
->groupBy('c_date', 'status');
$dataProvider1 = new ActiveDataProvider([
'query' => $query1,
]);
echo GridView::widget([
'dataProvider' => $dataProvider1,
'columns' => [
'c_date:text:Month',
[
'header'=>'Cancelled SKU',
'value' => function($data) {
return Sku3d::getCancel();
}
],
'sku:text:Total Sku',
'total:text:Total hours',
]
]);
?>
Mein Modell zu gridview:Yii2 echo Variable außerhalb Dataprovider
public function getCancel()
{
return (new \yii\db\Query())
->select(["DATE_FORMAT(approvedate, '%m-%Y') as c_date"])
->from('sku3d')
->where(['status' => 'Cancelled'])->groupBy('c_date')->count();
}
ich den oben stehenden Code verwendet, um alle genehmigten Produkte und entwertet Produkte als insgesamt zu zählen. Ich muss zählen, wie viele abgebrochene sku jeden Monat und liste es in einer anderen Spalte, jetzt listet es alle ohne Gruppe nach Monat. Beispiel: Im November gibt es 1 abgebrochen sku (2 Stunden) und 1 genehmigt sku (4 Stunden) und im Dezember gibt es 1 sku genehmigt, nicht aufgehoben wird, soll es zeigen:
Month Cancelled Sku Hours
11-2017 1 2 6
12-2017 0 1 3
Gerade jetzt ist es zeigt:
Month Cancelled Sku Hours
11-2017 1 2 6
12-2017 1 1 3
Ich bin hier stecken, bitte beraten. Danke.
Verwenden Sie eine benutzerdefinierte Funktion und einen Rückruf in Ihrer Rasteransicht. – Kalu
kannst du mir ein beispiel zeigen? danke –