Пробывал в запросе прописать ->select('DATE_FORMAT(date, "%m-%Y") as data')
Выдает ошибку SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `zakaz` WHERE (action <= 0) AND (data >= (CURDATE()-1) AND data < CURDATE()' at line 1
Мне это нужно для группировки даты. Сейчас у меня все выглядит вот так. Получается объединять только если и время тоже совпадает.
$Articles = new ActiveDataProvider([
'query' => \app\models\Zakaz::find()
->where('action <= 0') ->andWhere('data >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)'),
'pagination' => [
'pageSize' => 20,
],
]);
Вывожу таблицу
<?php echo GridView::widget([
'dataProvider' => $Articles,
'showFooter' => true,
'filterModel'=>$searchModel,
/*'showPageSummary'=>true,*/
'pjax'=>true,
'striped'=>true,
'hover'=>true,
'panel'=>['type'=>'primary', 'heading'=>'За неделю'],
'columns' => [
[
'attribute'=>'data',
'width'=>'310px',
'value'=>function ($model, $key, $index, $widget) {
return $model->data;
},
'filterType'=>GridView::FILTER_SELECT2,
'filter'=>ArrayHelper::map(\app\models\Zakaz::find()->orderBy('data')->asArray()->all(), 'id_zakaz', 'data'),
'filterWidgetOptions'=>[
'pluginOptions'=>['allowClear'=>true],
],
'filterInputOptions'=>['placeholder'=>'Any supplier'],
'group'=>true, // enable grouping
],
[
'class' => NumberColumn::className(),
'attribute' => 'fact_oplata',
],
],
]);;?>