php - yii2 gridview过滤日期

标签 php date gridview filter yii2

我的 GridView 中有一个日期。我想以 "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]);

最佳答案

您可以使用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)),
        ]
    );

关于php - yii2 gridview过滤日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53541201/

相关文章:

wpf - 获取 GridView 以在单击时选择行(不仅仅是单击文本)

javascript - 返回时,复选框未取消选中

PHP,在没有警告的情况下获取数组值的更简单方法

php - 如何将持久计数器重置为特定值?

Excel计算 "7/6/2012 10:26:42"单元格与今天的日期差

java - 字符串到日期的转换正在浪费时间

php - 在 PHP 中添加分钟到日期时间

c# - GridView 行编辑

php - 按数字和字母顺序排序

Android-如何在 ListView 的页脚添加 GridView