2014-12-10 3 views
2

Я переадресовываюсь с страницы входа на страницу панели мониторинга. Я хочу отправить переменную команд, которые содержат мои существующие данные о командах. Я попытался следующие, но это не работает ...Yii2: Как отправить несколько параметров при перенаправлении

return $this->redirect(array('site/dashboard', ['model' => $model1, 'teams' => $teams])); 

model1 будет послана, но не команды ...

ответ

0

Смотреть официальный documentation об этом методе. Второй параметр - это код состояния, поэтому то, что вы делаете, совершенно неверно. Передача переменных здесь не имеет никакого смысла, потому что сразу начинает загружаться другое действие. Вы должны передавать переменные для просмотра в действии, к которому вы перенаправляете, а не где происходит фактическое перенаправление.

9

Как уже указывал арогачев, вторым параметром является код, НО первый параметр является массивом. Для того, чтобы поставить некоторые параметры, вы должны сделать что-то вроде этого:

Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']); 

Таким образом, для каждых паров вы положили дополнительный элемент в массиве, где ключ этим имя и значение является значением ГЕТ пары.

Cheers!

+0

не работает !!!. все еще показывают ошибку для второго параметра, даже если я передаю его в одиночном массиве. Если это сработает с вами, тогда скажите мне, как это доступно в представлении ... – Shaggie

+0

$ model1 доступен для просмотра и не показывает никаких проблем с обычным методом. – Shaggie

+0

Можете ли вы опубликовать, как вы пытаетесь отправить параметры? И какая ошибка? –

1

Измените свою линию следующим образом. Поскольку вы уже использовали массив, нет необходимости в квадратных скобках.

return $this->redirect(array('site/dashboard', 'model' => $model1, 'teams' => $teams)); 
Смежные вопросы