我到处寻找这个,并试图让它在今天全天发生,但仍然无法弄明白。
基本上我试图在路由中使用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.';
});
由于
答案 0 :(得分:0)
您无法使用if($user = $id(8))
,请尝试使用:if($id == 8)
。您想要比较两个值,因此需要使用==
,=
表示分配值。
希望它有效!
顺便说一句:就我所见,你不必使用$user
变量。 $id
就足够了;)
答案 1 :(得分:0)
JohnLV的回答是正确的,但你看起来可能会更好地制作路线过滤器 - 请在此处阅读以获取更多信息:
http://laravel.com/docs/routing#route-filters
当您想要根据用户权限阻止访问某些页面/路由时(即隐藏用户的管理区域)。
但是如果您想根据用户ID更改视图中的内容,则最好将此代码放在控制器中。