2016-04-03 4 views
2

У меня есть маршрутLaravel: использовать перенаправление снаружи контроллера?

Route::get('/abc', function() { 
    return view('common.abc'); 
}); 

Когда доступ http://domain.com/abc это хорошо работает.

И в контроллере, я использую

Redirect::to('/abc') 

это работает хорошо.

==> НО, мне нужно, чтобы переадресовать вызов вне Контроллер (Модель, Lib и т. Д.). Как я могу это сделать? Я всегда получаю сообщение об ошибке при переадресации вызова вне контроллера.

+0

Какая ошибка у вас возникла? –

+0

@DoanTran: нельзя использовать объект типа Symfony \ Component \ HttpFoundation \ ResponseHeaderBag as array –

+0

Я не вижу ошибок при вызове перенаправления внутри модели. Он работает как обычно [gist] (https://gist.github.com/DoanTran/9fc408390a5129a6228d2f58322c89b6). Можете ли вы показать более подробную информацию о своем коде? –

ответ

2

Я сделал небольшое исследование, и, похоже, невозможно использовать перенаправление Laravel в model().

Но вы могли бы перенаправить вручную URL:

$url = route('/abc'); 
header('Location: '.$url); 

http://php.net/manual/en/function.header.php

+0

Это не работа. Получена ошибка 500. –

+0

'return \ Redirect :: route ('abc');' тоже не работает? –

+0

Да, получена ошибка 500 страниц. –

1

Я думаю, что это должно помочь.

abort(200, '', ['Location' => '/abc']); 
Смежные вопросы