带有用户标识的Laravel 4 link_to会生成NotFoundHttpException

时间:2014-06-24 06:45:53

标签: php url laravel

UsersController:

protected $user;

public function __construct(User $user)
{
    $this->user = $user;
}

public function show($id)
{
    $user = $this->user->find($id);
    return View::make('users.show')->with('user',$user);
}

型号:

protected $table = 'users';

路线:

Route::resource('users','UsersController');

在views / users中创建链接的代码:" index.blade.php":

{{ link_to("/users/show/{$user->id}", ($user->first_name), $secure = null) }}

链接到的页面中的对象代码,在views / users中:" show.blade.php":

$user->{field} ...

我的代码放在字段名称中,当然不包含在{}中。

该链接会生成以下网址:

https://.../users/show/{#}

其中{#}是与该链接相关联的用户ID,例如... /用户/显示/ 7

单击users / index中的链接会生成NotFoundHttpException。

我知道这是非常基本的东西,但我会疯狂地试图弄清楚我做错了什么。我不确定我理解" $ secure = null"是的,但我跟随Laravel文档;如果它存在与否则没有区别,如果删除它仍然会收到Not Found异常。我做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您创建了resource controller,其映射到:

Verb    Path                   Action   Route Name
GET     /resource/{resource}    show    resource.show

您可以创建指向路线的链接:

{{link_to_route('users.show', $user->first_name, $user->id)}}

{{link_to('users/'.$user->id, $user->first_name)}}