Laravel 4 路由不传递用户名
Laravel 4 route NOT passing in a username
嗨,我已经尝试解决这个问题几个小时了,如何研究 Stack Overflow 和许多其他网站,但没有成功。
//-------Route
Route::get('/profile/{firstName}', array(
'as' => 'userProfile',
'uses' => 'ProfileController@user'
));
//--------Controller
class ProfileController extends BaseController {
public function user($firstName) {
$user = User::where('firstName', '=', $firstName);
if($user->count()) {
//First record return from the query
$user = $user->first();
return View::make('profile.user')
->with('user', $user);
}
return "sorry, 404";
//return App::abort(404);
}
}
最后link:
<li><a href="{{URL::route('userProfile') }}"> My Profile </a></li>
-----------------------------
*如果我手动将用户名放入 URL 中,它会起作用,但是当我单击 link 时,我得到 localhost:8000/profile/{firstName} "sorry, 404"
感谢您的帮助!!!
您的路由 userProfile
需要参数 firstName
因此您必须在生成 url:
时传入该参数
{{ URL::route('userProfile', Auth::user()->firstName) }}
(你如何在视图中获得 firstName
并不重要我只是使用 Auth::user
因为我认为这可能是你的用例)
嗨,我已经尝试解决这个问题几个小时了,如何研究 Stack Overflow 和许多其他网站,但没有成功。
//-------Route
Route::get('/profile/{firstName}', array(
'as' => 'userProfile',
'uses' => 'ProfileController@user'
));
//--------Controller
class ProfileController extends BaseController {
public function user($firstName) {
$user = User::where('firstName', '=', $firstName);
if($user->count()) {
//First record return from the query
$user = $user->first();
return View::make('profile.user')
->with('user', $user);
}
return "sorry, 404";
//return App::abort(404);
}
}
最后link:
<li><a href="{{URL::route('userProfile') }}"> My Profile </a></li>
-----------------------------
*如果我手动将用户名放入 URL 中,它会起作用,但是当我单击 link 时,我得到 localhost:8000/profile/{firstName} "sorry, 404"
感谢您的帮助!!!
您的路由 userProfile
需要参数 firstName
因此您必须在生成 url:
{{ URL::route('userProfile', Auth::user()->firstName) }}
(你如何在视图中获得 firstName
并不重要我只是使用 Auth::user
因为我认为这可能是你的用例)