Vla*_*der 2 laravel eloquent laravel-5
我写了我的自定义中间件,但是在执行时,出现错误。中间件:
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use App\Employee;
class CheckConfirm
{
public function handle($request, Closure $next)
{
if(Auth::check())
{
$id = Auth::id();
$empl = Employee::where('user_id','=', $id)->get();
if($empl->isEmpty())
{
return route('confirm');
}
else
{
dump($empl);
return $next($request);
}
}
else
{
return route('login');
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这样的事情时:
if($empl===null)
{
return route('confirm');
}
Run Code Online (Sandbox Code Playgroud)
?条件是行不通的。在这种情况下,数据库查询执行成功。 这是带有转储的错误页面
您的中间件必须返回一个Response
对象,或$next($request)
. 正如所写,当未登录或$empl
为空时,您的中间件只是返回一个字符串,而不是重定向。
将您的退货更新为:
return redirect()->route('confirm');
Run Code Online (Sandbox Code Playgroud)
和
return redirect()->route('login');
Run Code Online (Sandbox Code Playgroud)
分别。
归档时间: |
|
查看次数: |
6196 次 |
最近记录: |