Я решил вопрос по этому сделал по умолчанию в моделе, чтобы выводился 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]) ?>