2016-10-15 7 views
0

Я только начинаю Yii2.
Я хочу создать раскрывающийся список, который составляет от 1 до 10, и кнопку отправки
После выбора опции нажмите кнопку, чтобы перейти на следующую страницу, чтобы отобразить выбранный мной номер.yii2: Неопределенная переменная: модель

В моем файле вида: index.php

use yii\widgets\ActiveForm; 
<?php $form = ActiveForm::begin(); ?> 
    <?= $form->field($model, 'QTY')->dropDownList(range(1, 10)) ?> 
    <?= Html::submitButton('Buy', ['class' => 'btn btn-primary']) ?> 
<?php ActiveForm::end(); ?> 

Тогда, когда я иду на страницу он дал мне «Неопределенная переменная: модель» в списке есть.

Что мне делать, чтобы исправить ошибки?

А что такое различие между Html и CHtml?

Спасибо.

+1

Поле, используемое в 'Activeform', должно быть связано с' model'. Покажите свое действие контроллера, которое отображает представление. –

+0

Привет, спасибо, я уже обнаружил ошибку. –

ответ

0

этот код - форма.php не index.php. , потому что мы можем видеть, есть активная форма. ваша модель не определена, может быть, вы пишете неправильный код

это пример контроллера index.php

public function actionIndex() 
 
    { 
 
     $searchModel = new PersediaanBarangSearch(); 
 
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams); 
 

 
     return $this->render('index', [ 
 
      'searchModel' => $searchModel, 
 
      'dataProvider' => $dataProvider, 
 
     ]); 
 
    }

Html и CHtml тот же в Yii1 = CHtml в Yii2 = Html

0

Это умение быть разбиением на страницы? Если да, используйте функции по умолчанию для сетки.

Это идет в контроллер:

$query = Post::find()->where(['status' => 1]); 

$provider = new ActiveDataProvider([ 
    'query' => $query, 
    'pagination' => [ 
    'pageSize' => 10, 
    ], 
    'sort' => [ 
    'defaultOrder' => [ 
     'created_at' => SORT_DESC, 
     'title' => SORT_ASC, 
    ] 
], 
]); 
return $this->render('path_to_view',['dataProvider'=>$provider]); 

Read more

Это идет к зрения:

GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'columns' => [ 
    'id', 
    'name', 
    'created_at:datetime', 
    // ... 
    ], 
]); 

Read more

0

На самом деле модель не загружена, пожалуйста, посмотрите пример ниже.

public function actionIndex($id = Null) 
    { 
     $data=array(); 
     $data['model'] = !empty($id) ? \app\models\YourModel::findOne($id) : new \app\models\YourModel(); 

     return $this->render('index', $data); 
    } 
Смежные вопросы