@hollanditkzn

Почему выводит постоянно null для input?

Я решил вопрос по этому сделал по умолчанию в моделе, чтобы выводился id user, но ради интереса впервые столкнулся с такой проблемой, что постоянно выводит у меня null. даже если в required все равно валидация не проходит.
class Zakaz extends ActiveRecord
{
const SCENARIO_DEFAULT  = 'default';

public function scenarios()
    {
        return [
            self::SCENARIO_DECLINED => ['declined', 'required'],
            self::SCENARIO_DEFAULT => ['id_shop', ...],
        ];
public function rules()
    {
        return [
            [['srok', 'number', 'description', 'phone', 'id_client', 'id_shop'], 'required', 'on' => self::SCENARIO_DEFAULT],
            ['declined', 'required', 'message' => 'Введите причину отказа', 'on'=> self::SCENARIO_DECLINED],
            [['id_shop', ...], 'integer'],
//            ['id_shop', 'default', 'value' => Yii::$app->user->getId()],
           ...
        ];
    }
    }

И в представлении
<?= $form->field($model, 'id_shop')->textInput(['value' => Yii::$app->user->id]) ?>
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Почему выводит постоянно null для input

о чем Вы? В value у Вас null?
судя по коду в value попадает Yii::$app->user->id а он null есть пользователь не зарегистрирован. Если нет пользователя, кокой id Вы ожидаете увидеть?
Тут еще важный вопрос, когда он null? Ибо есть форма, потом она отправляется, валидируется, сохраняется и опять выводится. В какой момент null и почему Вы ожидаете, что должно быть иначе?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы