yii2 gridview фильтр дата - PullRequest
       10

yii2 gridview фильтр дата

0 голосов
/ 29 ноября 2018

У меня в сетке есть свидание.Я хочу набрать его в формате "29.11.2018".Но в моей таблице дата в формате "2018-11-29".Так что это не фильтр.мой index.php:

[
'attribute'=>'enddate',
'format' => 'date',
'label' => 'Ablaufdatum'
],

моя поисковая модель:

 $query->andFilterWhere(['like', 'user', $this->user])
      ->andFilterWhere(['like', 'enddate', $this->enddate]);

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Вы можете использовать mysql:DATE_FORMAT() И php:date(), чтобы убедиться, что он всегда сравнивается в одном и том же формате, и вы можете использовать любой из операторов =, >, <, >=, <=вместо like.

Измените приведенный ниже код

$query->andFilterWhere(['like', 'user', $this->user])
      ->andFilterWhere(['like', 'enddate', $this->enddate]);

на

$query->andFilterWhere(['like', 'user', $this->user])
    ->andFilterWhere(
        [
            '=',
            new \yii\db\Expression('DATE_FORMAT(enddate, "%d.%m.%Y")'),
            date('d.m.Y', strtotime($this->enddate)),
        ]
    );
0 голосов
/ 29 ноября 2018

Вы можете попробовать что-то вроде этого перед фильтром:

date( 'Y-m-d', strtotime( $this->enddate ) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...