I’m trying to pass the values of date from the datepicker to the controller, but since now, there’s no success. When I clicked the submit button, the page just refreshes, without any updates to table. Using var_dump on $model reveals that the value of $start isn’t actually transferred to the controller. I also tried hardcoding the value of $start at the controller, and it manages to actually passed to the model, and subsequently returned the correct results on the GridView below.
Here’s the code:
index.php:
use yii\widgets\ActiveForm;
<?php $form=ActiveForm::begin([
'options' => ['class' => 'form-vertical',],
]) ?>
.
.
.
echo $form->field($model, 'start')->widget(
\yii\jui\DatePicker::className(),[
'language' => 'en',
'dateFormat' => 'yyyy-MM-dd',
]);
controller.php
use app\models\Model;
public function actionIndex()
{
$model = new Model;
$test = Yii::$app->request->post();
echo VarDumper::dump($test);
$model->load($test);
//VarDumper::dump($model);
$dataProvider = $model->getSomething();
return $this->render('index', [
'dataProvider' => $dataProvider,
'model' => $model,
]);
}
Model.php
use yii\data\ActiveDataProvider;
public class Model extends \yii\db\ActiveRecord
{
public $start
public function getSomething()
{
$query = (new \yii\db\Query());
. //Query to be performed
.
.
$provider = new ActiveDataProvider([
'query' => $query,
]);
return $provider;
}
}