silentlun / yii2-daterangepicker
YII2的DateRangePicker扩展
1.2
2022-08-09 02:33 UTC
Requires
- yiisoft/yii2: ~2.0.0
This package is not auto-updated.
Last update: 2024-10-01 13:23:34 UTC
README
YII2的DateRangePicker扩展
安装
安装此扩展的首选方法是使用composer。
运行以下命令之一:
php composer require --prefer-dist silentlun/yii2-daterangepicker "*"
或者在您的composer.json文件的require部分添加:
"silentlun/yii2-daterangepicker": "*"
使用方法
扩展安装后,只需在代码中使用
use silentlun\daterange\DateRangePicker; echo DateRangePicker::widget([ 'name' => 'daterange', 'attribute' => 'datetime_range', 'pluginOptions' => [ 'timePicker' => true, 'locale' => [ 'format' => 'YYYY-MM-DD' ] ] ]);
或者在模型上使用
use silentlun\daterange\DateRangePicker; echo DateRangePicker::widget([ 'model' => $model, 'attribute' => 'datetime_range', 'pluginOptions' => [ 'timePicker' => true, 'locale' => [ 'format'=>'YYYY-MM-DD' ] ] ]);
或者在模型上使用单独的start/end属性
use silentlun\daterange\DateRangePicker; echo DateRangePicker::widget([ 'model'=>$model, 'attribute'=>'datetime_range', 'startAttribute'=>'datetime_start', 'endAttribute'=>'datetime_end', 'pluginOptions'=>[ 'timePicker'=>true, 'timePickerIncrement'=>30, 'locale'=>[ 'format'=>'YYYY-MM-DD' ] ] ]);
DateRangeBehavior
use silentlun\daterange\DateRangeBehavior; class UserSearch extends User { public $createTimeRange; public $createTimeStart; public $createTimeEnd; public function behaviors() { return [ [ 'class' => DateRangeBehavior::className(), 'attribute' => 'createTimeRange', 'dateStartAttribute' => 'createTimeStart', 'dateEndAttribute' => 'createTimeEnd', ] ]; } public function rules() { return [ // ... [['createTimeRange'], 'match', 'pattern' => '/^.+\s\-\s.+$/'], ]; } public function search($params) { $query = User::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if (!$this->validate()) { $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['>=', 'createdAt', $this->createTimeStart]) ->andFilterWhere(['<', 'createdAt', $this->createTimeEnd]); return $dataProvider; } }