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 因为我认为这可能是你的用例)