在表格中,我有一个列,其中像2016-12-13 10:51:03
这样的数据在gridview中输出。我把datepicker
[
'attribute'=>'order_statusUpdatedAt',
'value'=>'order_statusUpdatedAt',
'format'=>'raw',
'filter'=>DatePicker::widget([
'model'=>$searchModel,
'attribute'=>'order_statusUpdatedAt',
'clientOptions'=>
[
'autoclose'=>true,
'format'=>'yyyy-mm',
]
]),
],
我想搜索所有类似2016-12的线路。我怎么能搜索部分匹配?
OrderSearch
`公共功能搜索($ 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' => $这 - > order_createdAt]);
return $dataProvider;
}
答案 0 :(得分:0)
在网格条件之后添加这段代码。
$query->andFilterWhere(['like','order_createdAt', $this->order_statusUpdatedAt]);
第三个条件应该是您在搜索字段属性中指定的属性。因此,您在搜索字段中输入的搜索数据将类似于数据库中的数据,即您的案例中的“order_created”。
希望这可以帮助你..