Php 显示空白Laravel的页面

Php 显示空白Laravel的页面,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我有一个laravel项目,应该让一个人的推荐达到3个层次。这是我的控制器及其查询 public function matrix() { $referrals = DB::table('users')->where('referred_by', Auth::user()->referral_id)->get(); if (empty($referrals)) { return view('matrix'); }

我有一个laravel项目,应该让一个人的推荐达到3个层次。这是我的控制器及其查询

public function matrix()
{    
    $referrals = DB::table('users')->where('referred_by', Auth::user()->referral_id)->get();

    if (empty($referrals))
    {
        return view('matrix');
    }
    elseif(isset($referrals[0]))
    {
        $referrals2gen = DB::table('users')->where('referred_by', $referrals[0]->referral_id)->get();

        if (!isset($referrals2gen[0])) 
        {
            $referrals3gen = DB::table('users')->where('referred_by', $referrals2gen[0]->referral_id)->get();

            if (!isset($referrals3gen[0]))
            {
                return view('matrix3', ['referrals' => $referrals, 'referrals2gen' => $referrals2gen]);
            }
            elseif(isset($referrals3gen[0]))
            {
                return view('matrix4', ['referrals' => $referrals, 'referrals2gen' => $referrals2gen, 'referrals3gen' => $referrals3gen]);
            }

        }
    }
}  
如果用户有引用,它将返回正常视图。如果他不这样做的话,它就会运行一个空白页。我将非常感谢您的帮助。
注意:我知道它不干燥,但我是一个初学者,我已经有一段时间有这些问题了

为什么你要在控制器中查询。。解决问题的最好方法是创建一个存储库并保持控制器干净。 对于你最好使用的查询,雄辩是很简单的

这里有一个链接


如果

    if (!isset($referrals2gen[0])) 
    {
        $referrals3gen = DB::table('users')->where('referred_by', $referrals2gen[0]->referral_id)->get();

        if (!isset($referrals3gen[0]))
        {
            return view('matrix3', ['referrals' => $referrals, 'referrals2gen' => $referrals2gen]);
        }
        elseif(isset($referrals3gen[0]))
        {
            return view('matrix4', ['referrals' => $referrals, 'referrals2gen' => $referrals2gen, 'referrals3gen' => $referrals3gen]);
        }

    }
    else
    {
        return view(...);
    }

您是否向存储和缓存目录添加了权限?我该怎么做?意味着要运行laravel应用程序,您需要添加权限。我正在web主机上运行它。1和1。就像我说的,我只是一个初学者,所以如果语法错误,我希望能详细解释一下。你应该把它修好<代码>如果(!isset($referrals2gen[0])
在此之后,您刚刚开始块,并且没有代码和结束块。我实际上是在控制器中查询的,因为我是懒惰的。我更喜欢在视图和控制器之间来回切换。但稍后我会改进我的代码。只需要正确代码语法的帮助