【问题标题】:Insert datepicker yii2插入日期选择器 yii2
【发布时间】:2016-12-23 09:09:35
【问题描述】:

在表中,我有一个列,其中像 2016-12-13 10:51:03 这样的数据在 gridview 中输出。我放了日期选择器

[
          'attribute'=>'order_statusUpdatedAt',
          'value'=>'order_statusUpdatedAt',
          'format'=>'raw',
          'filter'=>DatePicker::widget([
          'model'=>$searchModel,
          'attribute'=>'order_statusUpdatedAt',
          'clientOptions'=>
             [
              'autoclose'=>true,
              'format'=>'yyyy-mm',
             ]
    ]),
],

我想搜索所有类似于 2016-12 的行。如何搜索部分匹配项?

订单搜索

`公共函数搜索($params) { $query = Order::find(); // 添加应始终适用于此处的条件

    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);

    $this->load($params);

    if (!$this->validate()) {
        // uncomment the following line if you do not want to return any records when validation fails
        // $query->where('0=1');
        return $dataProvider;
    }

    // grid filtering conditions
    $query->andFilterWhere([

'order_createdAt' => $this->order_createdAt]);

    return $dataProvider;
}

【问题讨论】:

  • 你想在哪里搜索?
  • 网格视图中的@SiZE。
  • 你的搜索模型代码在哪里?
  • @MohanPrasad 添加到问题
  • 您要根据日期 2016-12 进行搜索吗?意思是说当您输入日期 2016-12 时,您需要获取所有包含 2016/12 的数据?

标签: yii2


【解决方案1】:

在您的网格条件之后添加这段代码。

 $query->andFilterWhere(['like','order_createdAt', $this->order_statusUpdatedAt]);

第三个条件应该是您在搜索字段属性中指定的属性。因此,您在搜索字段中输入的搜索数据将类似于您数据库中的数据,即您的案例中的“order_created”。

希望对你有所帮助..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多