Yii2 Как я могу отображать данные Activeform radioList на экране? - PullRequest
0 голосов
/ 28 июня 2019

У меня нет опыта работы с Yii2. Я хотел бы иметь возможность показать результат формы на экране. С полями name и email у меня нет проблем но я не могу показать выбор что я делаю из своего радио-списка. Я перепробовал много методов, но ни один не работает. Можете ли вы помочь мне, пожалуйста?

Это мои файлы.

SiteController.php

  public function actionEntry()
    {
        $this->layout = 'print';
        $model = new EntryForm();

        if ($model->load(Yii::$app->request->post()) && $model->validate()) {
          return $this->render('entry-confirm', ['model' => $model]);
        } else {
          return $this->render('entry', ['model' => $model]);
        }
    }

EntryForm.php

namespace app\models;

use Yii;

class EntryForm extends \yii\db\ActiveRecord
{
    public $name;
    public $email;
    public $category;

      public function rules()
        {
        return [
            [['name', 'email'], 'required'],
            ['email', 'email'],


        ];
    }

entry.php

use yii\helpers\Html;
use yii\widgets\ActiveForm;

<?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'name') ?>

    <?= $form->field($model, 'email') ?>
    <?= $form->field($model, 'category')->radioList([
        1 => 'radio 1', 
        2 => 'radio 2'
    ]);
     ?>


   <div class="form-group">
        <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?> 

    </div>


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

начального confirm.php

<p>You have entered the following information:</p>
<ul>
    <li><label>Name</label>: <?= Html::encode($model->name) ?></li>
    <li><label>Email</label>: <?= Html::encode($model->email) ?></li>
    <li><label>Category</label>: <?=  Html::encode($model->category) ?></li>

</ul>

Это изображение с проблемой:

1 Ответ

1 голос
/ 28 июня 2019
  1. В модели, расширяющей ActiveRecord, вы никогда не должны явно определять свойства, которые совпадают с именами столбцов в БД.
  2. Вы должны определить хотя бы одно правило проверки для каждого атрибута, установленного в концепользователь, иначе система не позволит установить его.
...