У нас было одно приложение, разработанное почти год назад, и здесь я столкнулся с проблемой. После подписания хром говорит: The localhost page isn’t working, localhost redirected you too many times.
. И проблема заключается в этом фрагменте кода контроллера, который, хотя я его удаляю, работает отлично. Я не мог понять, что с этим не так.Laravel - Localhost перенаправил вас слишком много раз
if(Auth::check()){
$usertype=usertype::where('uid','=',Auth::user()->id)->first();
if(isset($usertype)){
if($usertype->type==1){
$shopcatagory=shopcatagory::where('sid','=',Auth::user()->id)->first();
$shopsubcatagory=shopsubcatagory::where('sid','=',Auth::user()->id)->first();
$shopphone=shopphone::where('sid','=',Auth::user()->id)->first();
$shopaddress=shopaddress::where('sid','=',Auth::user()->id)->first();
$shopplace=shopplace::where('sid','=',Auth::user()->id)->first();
if(!isset($shopaddress) || !isset($shopcatagory) || !isset($shopsubcatagory) || !isset($shopphone) || !isset($shopplace)){
return Redirect::action('[email protected]',Auth::user()->id);
}
}
else if($usertype->type==3){
$shopphone=shopphone::where('sid','=',Auth::user()->id)->first();
$shopaddress=shopaddress::where('sid','=',Auth::user()->id)->first();
$shopplace=shopplace::where('sid','=',Auth::user()->id)->first();
if(!isset($shopaddress) || !isset($shopphone) || !isset($shopplace)){
return Redirect::action('[email protected]',Auth::user()->id);
}
}
else if($usertype->type == 2){
$userinterests=userinterests::where('uid','=',Auth::user()->id)->first();
if(!isset($userinterests)){
return Redirect::action('[email protected]');
}
}
}
}
Помимо кода, склеенного таким образом, его трудно прочитать, очевидно, что происходит бесконечный цикл. Просто прочитайте эту капусту и определите, какие части могут потерпеть неудачу, и обработали ли вы эту неудачу или нет (от взгляда на этот салат, который вы создали, ваш код может потерпеть неудачу на стольких местах, что не стоит писать ответ, чтобы выделить каждый). –
Во время публикации этого я думал то же самое, что и наш первый опыт работы с Laravel, и теперь я не могу изменить их всех, чтобы просто улучшить его. Очевидно, что это код спагетти, и я чувствую себя плохо, когда я это видел. –
@jszobody опубликуйте его как ответ, чтобы я мог проверить его как правильный ответ. Да, эти проверки выполнялись там, и их устранение решило проблему. –