我有一个带有link_to的索引页:
<h1> User:</h1>
@foreach ($user as $user)
{{link_to("/users/{$user->username}",$user->username)}}
@endforeach
然后我有一条路线:
Route::get('/users/{{$username}}', function($username){
return View::make('show')->with('username',$username);
});
现在,如果我明白了,我将用户名作为参数传递给函数,而用户名就是我的网址,现在如果我将参数传递给我的显示视图,
<body>
<div>
<h1> User:</h1>
{{$username}}
</div>
</body>
</html>
我应该可以在我的页面中看到它。我哪里错了?使用get时,我无法从url中获取参数?为什么我需要这样做:
Route::get('/users/{{$username}}', function($username){
$user=User::whereUsername($username)->fist();
return View::make('show')->with('username',$user);
});
您的路线错误,这是正确的路线:
Route::get('/users/{username}', function($username){
$user=User::whereUsername($username)->fist();
return View::make('show')->with('user',$user);
});
只是
/users/{username}
并不是
/users/{{$username}}
此外,您的视图将收到一个用户对象,因此您必须:
<div>
<h1> User:</h1>
{{$user->username}}
</div>
编辑
在Laravel中有2种{}
:
1)在视图中,您必须使用{{}}
或{{{}}}
(转义版本)。在其中放入PHP代码:
{{$variable}}
{{ isset($variable) ? $variable : 'default value' }}
2)在路由中,您只使用{}
PHP而不是PHP,并且在其中使用了路由参数名称,而没有$
:
/user/{name}
/user/{id?} (in this case id is optional, might or might not be send)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句