我需要从数据库中获取数据并显示它view。 这是我的web.php
Route::get('/businesscard/{name}', function ($name) {
//$username= App\users::where('username', $name);
$username=DB::table('users')->select('*')
->where('username', '=', $name)
// ->groupBy('status')
->get();
return view('auth.pro')->with(['username' => $username]);
return array(
'name' => $name
);
});
如果用户输入domain.com/businesscard/username,我需要获取用户名的数据并在视图中显示它。它正在工作。但是我需要删除businesscard。用户需要输入domain.com/username。我已经尝试了以下代码。
Route::get('/{name}', function ($name) {
//$username= App\users::where('username', $name);
$username=DB::table('users')->select('*')
->where('username', '=', $name)
// ->groupBy('status')
->get();
return view('auth.pro')->with(['username' => $username]);
return array(
'name' => $name
);
});
如果有数据,它可以正常工作。但是其他页面不能正常工作,例如登录和注册。用户正在注册时输入用户名。
答案 0 :(得分:1)
您的路线顺序很重要。参见order of route declarations in laravel package
因此/ {name}应该注册为最后一条路由,以避免与其他路由匹配。
答案 1 :(得分:0)
/{name}
表示/
有任何值。如果您尝试使用/login
或/register
。那么您的逻辑就与此混淆了,因此其他页面无法正常工作。像第一个一样,是您期望的最佳发展方式。
代码中的另一件事是有两个return
,第二个没有做任何事情。在第一个之后,它返回查看,因此第二个未使用。还要删除该return
。