事实上,标题中还有一个问题。大致介绍了如何在色谱柱上进行过滤,但没有具体日期的选择。
答案 0 :(得分:0)
安装。获取Composer软件包:
php composer.phar require --prefer-dist yiisoft/yii2-jui
视图中:
echo \yii\jui\DatePicker::widget([
'model' => $model,
'attribute' => 'date',
]);
在模型中(验证unix时间戳)-日期在数据库或.t中是整数。
['date', 'default', 'value' => null],
['date', 'date', 'timestampAttribute' => 'date'],
或:
public function beforeValidate() {
if ($this->date !== null) {
$this->date= strtotime($this->date);
}
return parent::beforeValidate();
}
在过滤器Gridview(搜索)中:
[
'attribute' => 'date',
'filter' => \yii\jui\DatePicker::widget([
'model' => $searchModel,
'attribute' => 'date',
'dateFormat' => 'php:Y-m-d',
'options' => [
'class' => 'form-control',
'autocomplete' => 'off',
]
]),
],
在modelSearch中:
public $date;
public function rules()
{
return [
[['date'], 'safe'],
['date', 'default', 'value' => null],
];
}
//...
if ($this->date !== null) {
$date = strtotime($this->date);
$query->andFilterWhere(['between', 'date', $date, $date + 3600 * 24]);
}
作为GridView中的输入:
[
'label' => 'date',
'value' => function ($model, $key, $index) {
return \yii\jui\DatePicker::widget([
'model' => $model,
'attribute' => 'date',
]);
},
'format' => 'raw'
],