我对我在 gridview 中用于过滤某些结果的 Kartik DateRangePicker Widget 有疑问。
在我的 SearchModel 中,我创建了两个属性
public $date_start;
public $date_end;
我使用这些来过滤数据库“insert_date”中的字段。
在我看来,作为网格配置,我设置了这些选项
[
'attribute' => 'insert_date',
'options' => ['class' => 'gridview-date-column'],
'filter' => DateRangePicker::widget([
'model' => $searchModel,
'name' => 'insert_date',
'attribute' => 'insert_date',
'startAttribute' => 'date_start',
'endAttribute' => 'date_end',
'convertFormat'=>true,
'pluginOptions' => [
'opens'=>'right',
'locale' => [
'cancelLabel' => 'Clear',
'format' => 'd-m-Y',
],
]
]),
'format' => ['date', Yii::$app->formatter->datetimeFormat],
'contentOptions'=>['style'=>'min-width: 200px;']
],
默认情况下 $date_start 和 $date_end 没有值,所以,当我进入我的视图并尝试过滤此字段时,我在日历上收到一个“invalidDate”错误和一系列NaN。
如果我为这两个字段设置了一个值,或者如果将它们从配置中删除(因此我只能将 insert_date 属性用作具有这两个范围的字符串进行过滤),则这是固定的。
查看插件存储库,我发现了相同的案例,并作为作者的回应
出现此问题是因为您的数据日期格式无效,与插件格式不匹配。
但由于这些字段为空,因此永远不会有正确的数据格式。
有人有同样的问题吗?提前感谢所有回复。