如何在Laravel 4中制作路线过滤器?

时间:2014-11-21 18:50:05

标签: laravel-4

我想在Laravel 4中为我的应用程序制作一个路由过滤器。

详细说明:

  • 我想为
  • 允许此路由过滤器
  • user-> type ='Distributor'
  • distributor-> type ='OEM'

我确信{{ Auth::user()->distributor()->first()->type }}将返回 OEM

以下是 filters.php

中的代码
Route::filter('distributor', function() 
{
        if (Auth::user()->distributor()->first()->type !== "OEM" )

        {
            if (Request::ajax())
            {
                return Response::make('Unauthorized', 404);
            }

        }

        else return View::make('errors.404_auth');
});

我收到了一个错误:

Error

1 个答案:

答案 0 :(得分:1)

我看到您试图访问用户和分发服务器之间的关系,但您还没有检查具有该特定类型的用户是否确实存在。

我的建议是

在第一个if语句的基础上添加if (Auth::user()->type == " You user type in string "){

详细信息请参阅代码。我希望这有帮助!

Route::filter('oem', function()
{

    if (Auth::user()->type == " You user type in string "){

        if (Auth::user()->distributor()->first()->type == "OEM")
        {
            if (Request::ajax())
            {
                return Response::make('Unauthorized', 404);
            }

        }

        else return View::make('errors.404_auth');

    }
});