Php 如何使用带有$id=Auth::id()的IF语句;要获取用户id Laravel?

Php 如何使用带有$id=Auth::id()的IF语句;要获取用户id Laravel?,php,laravel,Php,Laravel,我到处寻找这个,今天一整天都想让它发生,但还是弄不明白 基本上,我正在尝试使用路由中的IF语句向具有适当ID的用户显示适当的信息 但是我越来越 Function name must be a string 为此 if ($user = $id(8)) 我不知道如何将当前用户id传递给if语句来检查它。对不起,如果你问了个愚蠢的问题,我只是从拉威尔开始 Route::get('/secret', function() { $user = Auth::user(); $id = Auth::id

我到处寻找这个,今天一整天都想让它发生,但还是弄不明白

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

但是我越来越

Function name must be a string
为此

if ($user = $id(8))
我不知道如何将当前用户id传递给if语句来检查它。对不起,如果你问了个愚蠢的问题,我只是从拉威尔开始

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

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

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

如果($user=$id(8))不能使用
,请尝试改用:
如果($id==8)
。您希望比较两个值,因此需要使用
==
=
表示赋值

希望它能起作用!
顺便说一下:在我看来,您不必使用
$user
变量<代码>$id
在您的情况下就足够了;)

JohnLV的答案是正确的,但你看起来可能最好做一个路由过滤器-阅读此处了解更多信息:

这适用于您希望基于用户权限阻止对某些页面/路由的访问(即对用户隐藏管理区域)


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

谢谢!成功了。我一直在想,为什么会有“==”呢。再次感谢。@JohnLV不客气!你能把我的答案记下来作为你问题的解决办法吗?只需点击我答案左侧的按钮:)当然@Robin,只需等待5分钟即可完成;)谢谢你的这些信息,但是路由过滤器从哪里获得信息,它是从DB获得的吗?谢谢你把我引向正确的方向。是的,把你的原始代码转储到一个路由过滤器中,然后你不返回“你的id不是8”,而是重定向到另一个路由,比如登录页面谢谢,我的项目中肯定会包含这个。