Кажется, логика промежуточного программного обеспечения Laravel не работает - PullRequest
0 голосов
/ 11 мая 2019

Я пытаюсь создать промежуточное программное обеспечение, которое перенаправляет пользователей на страницу подтверждения, если в идентификационной таблице не найдено данных, но я продолжаю получать логику для оператора 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) Неопределенное свойство: Подсветка \ База данных \ Eloquent \ Relations \ HasOne :: $ Verified

1 Ответ

4 голосов
/ 11 мая 2019

Я предполагаю, что проблема в вашем утверждении if, и оно должно быть таким:
if (! $request->user()->identification->verified)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...