Как вывести маасив из модели 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 624
Друзья всем привет, пытаюсь сделать редирект не получается

Код PHP:
  1. class actionSportPlayerEdit extends cmsAction {
  2. public function run($id=false){
  3. if (!$id) { cmsCore::error404(); }
  4. $user = cmsUser::getInstance();
  5. $team_player = $this->model->getTeamPlayer($id);
  6. if (!$team_player) { cmsCore::error404(); }
  7. $is_edit = $user->is_admin || cmsUser::isAllowed('sport', 'edit', 'all') ||
  8. ( cmsUser::isAllowed('sport', 'edit', 'own') && $team_player['user_id']==$user->id );
  9. if (!$is_edit) { cmsCore::error404(); }
  10. $errors = false;
  11. $form = $this->getForm('player');
  12. $is_submitted = $this->request->has('submit');
  13. if ($is_submitted){
  14. $team_player = $form->parse($this->request, $is_submitted);
  15. $errors = $form->validate($this, $team_player);
  16. if (!$errors){
  17. $team_player['tournament_id'] = $id_team;
  18. $this->model->updateTeamPlayer($id, $team_player);
  19. $this->redirectToAction('team', array($тут tournament_id));
  20. }
  21. if ($errors){
  22. cmsUser::addSessionMessage(LANG_FORM_ERRORS, 'error');
  23. }
  24. }
  25. $template = cmsTemplate::getInstance();
  26. $template->render('form_player', array(
  27. 'do' => 'edit',
  28. 'form' => $form,
  29. 'errors' => $errors,
  30. 'tournament' => $team_player
  31. ));
  32. }
Вот дамп $team_player

Код PHP:
  1.  
  2. (
  3. [id] => 372
  4. [tournament_id] => 4
  5. [user_id] => 3
  6. [team_name] => Phoenix
  7. [reserve] =>
  8. )
  9.  
Мне нужно как то вывести [tournament_id] в редирект, подскажите пожалуйста, я раньше делал щас никак не вспомню.
Редактировалось: 1 раз (Последний: 11 июня 2017 в 18:28)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
А такой вариант не подходит?
Код PHP:
  1. $this->redirectToAction('team', array($team_player['tournament_id']));
Ещё не совсем понятно, откуда возникло $id_team в 17 строке.
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

А такой вариант не подходит?
Код PHP:
  1. $this->redirectToAction('team', array($team_player['tournament_id']));
Ещё не совсем понятно, откуда возникло $id_team в 17 строке.

Да это просто я пытался что - то сделать. Не сработало. Может из за модели ?

Код PHP:
  1. /* Редактирование пользователя */
  2. public function updateTeamPlayer($id, $team_player){
  3. return $this->update('sport_team_info', $id, $team_player);
  4. }
  5.  
  6. public function getTeamPlayer($id){
  7. return $this->getItemById('sport_team_info', $id);
  8. }
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Нико:
я пытался что - то сделать
Может не надо пытаться, что-то сделать, а просто удалить 17 строку и будь, что будет?
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

Нико:
я пытался что - то сделать
Может не надо пытаться, что-то сделать, а просто удалить 17 строку и будь, что будет?

Я удалил.

Спойлер
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

Нико:
я пытался что - то сделать
Может не надо пытаться, что-то сделать, а просто удалить 17 строку и будь, что будет?

Вот когда ставлю просто $id 307 перекидывает, а вот как мы делаем пусто без ничего.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Тогда ищите в какой переменной у вас имеется информация о tournament_id. У вас есть $team_player и судя по дампу $team_player[tournament_id] => 4
На какой урл вас сейчас отправляет редирект после отправки формы?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Нико:
когда ставлю просто $id 307 перекидывает
так может вам нужен не 'tournament_id', а $this->redirectToAction('team', array($id'));
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

Нико:
когда ставлю просто $id 307 перекидывает
так может вам нужен не 'tournament_id', а $this->redirectToAction('team', array($id'));

Нет там есть команда у которой /team/4 ,а меня перекидывает на team/ , а с $id team/307, а надо назад откуда перешел то есть на tournament_id (4)
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

Нико:
когда ставлю просто $id 307 перекидывает
так может вам нужен не 'tournament_id', а $this->redirectToAction('team', array($id'));

Я кажется понял но пока не понял как исправить сделал дамп в

if (!$errors){

dump($team_player);
$this->model->updateTeamPlayer($id, $team_player);
$this->redirectToAction('team', array($team_player['tournament_id']));
}

Сама форма отправляется.

Array
(
[reserve] => 1
)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3549
Нико:
надо назад откуда перешел
Код PHP:
  1. $this->redirectBack();
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2652
Нико,
Вы в курсе, что можно посмотреть, что содержится в той или иной переменной (причем неважно, массив это, число, строка или объект), если вставить в код такую строку : print_r($ваша_переменная); ?
Посетитель
small user social cms
Медаль
Сообщений: 624
Loadырь:

Нико:
надо назад откуда перешел
Код PHP:
  1. $this->redirectBack();

Да все работает так тоже делал но он перекидывает на редактирование опять, а нужно откуда нажал редактировать.
sport/team/4 вот сюда
с редиректом перекидвает сюда /sport/player_edit/372
Посетитель
small user social cms
Медаль
Сообщений: 624
Ris:

Нико,
Вы в курсе, что можно посмотреть, что содержится в той или иной переменной (причем неважно, массив это, число, строка или объект), если вставить в код такую строку : print_r($ваша_переменная); ?

ну я и делаю dump почему print_r
Посетитель
small user social cms
Медаль
Сообщений: 624
Код PHP:
  1. if (!$errors){
  2.  
  3. $this->model->updateTeamPlayer($id, $team_player);
  4. $team_player = $this->model->getTeamPlayer($id);
  5. $this->redirectToAction('team', array($team_player['tournament_id']));
  6. }
Решил проблему
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.