@KidsBout

Почему yii2 не видит переменную?

Названия изменил для примера
Код модели:
/models/myModel.php
namespace app\models;

use yii\base\Model;

class pressureForm extends Model
{
    public $date;
    public $pressure;
    public $condition;

    public function rules()
    {
        return [
            [['date', 'pressure', 'condition'], 'required']
        ];
    }
}


Код контроллера
controllers/SiteController.php
public function actionPage()
    {

        $pressureForm = new form();

        return $this->render('page',[
            'pressureForm' => $pressureForm,
        ]);
    }


Код views/page.php
/* @var $this yii\web\View */

use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
use yii\helpers\Url;

?>

<?php $form = ActiveForm::begin(); ?>

        <?= $form->field($pressureForm, 'date')->widget(yii\jui\DatePicker::className(), ['dateFormat' => 'yyyy-MM-dd']) ?>

        <?= $form->field($pressureForm, 'pressure')->textInput(array('value'=>$pressure)); ?>

        <?= $form->field($pressureForm, 'condition')->radioList(['1' => "Да", '0' => 'Нет']); ?>


    <div class="form-group">
        <?= Html::submitButton('', ['class' => 'btn btn-success glyphicon glyphicon-plus']) ?>
    </div>

<?php ActiveForm::end(); ?>


И тут я получаю ошибку

Unknown Property – yii\base\UnknownPropertyException

Getting unknown property: app\models\form::condition

in vendor/yiisoft/yii2/base/Component.php at line 143
foreach ($this->_behaviors as $behavior) {
                if ($behavior->canGetProperty($name)) {
                    return $behavior->$name;
                }
            }
        }
        if (method_exists($this, 'set' . $name)) {
            throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
        } else {
            throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
        }
    }


Когда удаляю из формы строку с condition, то всё работает, а так же когда меняю radioList на textInput, то страница тоже срабатывает, почему так?
  • Вопрос задан
  • 514 просмотров
Решения вопроса 1
@KidsBout Автор вопроса
Нужно где new form писать new pressureFrom
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы