如何使用带有$ id = Auth :: id()的IF语句;获得用户身份Laravel?

时间:2014-08-06 11:42:02

标签: php laravel

我到处寻找这个,并试图让它在今天全天发生,但仍然无法弄明白。

基本上我试图在路由中使用IF语句向具有适当ID的用户显示适当的信息。

但我得到了

Function name must be a string

对于此

if ($user = $id(8))

我无法弄清楚如何将当前用户ID传递给if语句进行检查。对不起,如果愚蠢的问题,但我只是从Laravel开始。

Route::get('/secret', function()
{
$user = Auth::user();
$id = Auth::id();

if ($user = $id(8))
{
    return 'It worked!';
}

return 'Your id is not 8.';
});

由于

2 个答案:

答案 0 :(得分:0)

您无法使用if($user = $id(8)),请尝试使用:if($id == 8)。您想要比较两个值,因此需要使用===表示分配值。

希望它有效! 顺便说一句:就我所见,你不必使用$user变量。 $id就足够了;)

答案 1 :(得分:0)

JohnLV的回答是正确的,但你看起来可能会更好地制作路线过滤器 - 请在此处阅读以获取更多信息:

http://laravel.com/docs/routing#route-filters

当您想要根据用户权限阻止访问某些页面/路由时(即隐藏用户的管理区域)。

但是如果您想根据用户ID更改视图中的内容,则最好将此代码放在控制器中。