尝试在中间件 Laravel 中获取非对象的 属性

Trying to get a property of a non object in middleware Laravel

我在中间件中遇到一个奇怪的问题,其中 return $next($request); 行抛出 Trying to get a property of a non object 错误,但仅在我的生产服务器上我无法在本地重现此问题。

<?php

namespace App\Http\Middleware;

use Closure;

class NotSubscribed
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (isSubscribed($request->user()) || getOrganisation()->skip_plan) {
                flashError('You already have a subscription to Tradesoft.');
                return redirect(url(''));
        }
        return $next($request);
    }
}

事实证明错误消息误导了问题实际上是在视图中。

这似乎是一个 double-error,我不确定为什么闭包会在中间件中中断。对我来说,问题也在一个视图中。如果查看详细的堆栈跟踪,您将(希望)看到另一个 ErrorException,这次是在视图文件中。已处理的视图文件为我提供了行号 (storage/framework/views/bdd1ab3cd9b17fa33f375bec31b7efe831671aac.php:12).