Laravel中间件逻辑似乎不起作用

时间:2019-05-11 09:57:29

标签: php laravel

我正在尝试创建一个中间件,如果在标识表上未找到任何数据,则会将用户重定向到验证页面,但我一直弄错if语句的逻辑

我已经尝试将$request->user()->identification->()has('user_id)作为if语句

///从我的标识中间件中,我有这个;

<?php

namespace App\Http\Middleware;


use Closure;

class Identification
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

        if (! $request->user()->identification()->verified) {

            return redirect('identification');

        }
        return $next($request);
    }
}

我希望这应该返回true并继续进行下一页,因为我已经在属于该用户的“标识”表上有了数据

但是我得到这个错误

  

ErrorException(E_NOTICE)未定义的属性:   Illuminate \ Database \ Eloquent \ Relations \ HasOne :: $ verified

1 个答案:

答案 0 :(得分:4)

我猜问题出在您的if语句上,它应该像这样:
 console.log