我正在尝试构建一个适用于虚荣网址的个人资料页面。
我们的想法是http://domain.com/user123
应加载user123
的个人资料页面。
到目前为止,这是我在路由
方面所尝试的Route::get('/{username}', function()
{
$user = User::where('username', '=' , $username);
if($user->count()) {
$user = $user->first();
return View::make('profilepage')
->with('username', $user);
})->where('username', '^[a-zA-Z][a-zA-Z0-9\.]{3,20}$');
两个问题:
当我运行我的测试服务器并尝试此操作时,我在第3行 - ErrorException Undefined variable: username
中收到此错误。我已经仔细检查了列名与表中的名称相匹配,但我还不完全确定我是否正确地执行此操作。
一旦我设法路由到正确的页面,我是否正确地说我可以直接访问变量$user
?或者我需要使用Session::get()
?
答案 0 :(得分:1)
函数(闭包)必须带一个参数:
路由::获取(' / {用户名}',功能($ username){
$ user = User :: where(' username',' =',$ username);
if($ user-> count()){ $ user = $ user-> first();
return View::make('profilepage')
->with('username', $user);
}) - >其中('用户名',' ^ [a-zA-Z] [a-zA-Z0-9。] {3,20} $&#39 );
您可以使用Session::get('username')