试图在中间件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);
    }
}

原来错误信息是误导的,问题实际上是在一个视图

这似乎是一个双重错误,我不知道为什么闭包在中间件中破裂。对我来说,问题也存在于视图中。如果您查看详细的堆栈跟踪,您将(希望)看到另一个ErrorException,这次是在视图文件中。我的行号是为处理过的视图文件(storage/framework/views/bdd1ab3cd9b17fa33f375bec31b7efe831671aac.php:12)给出的。