从操作中获取传递的ID


get passed ID from an action

在我的刀片中,我试图在操作链接中传递ID。

<a href="{{ action('DomainController@edit', $domain->id) }}">test</a>

我在我的控制器中得到这样的通过id:

public function edit()
    {
        $input = Input::get();
        dd($input);
    }

但是dd()的输出是:

array:1 [▼
  5 => ""
]

但为什么它是一个数组?我只想要数字,但我不明白为什么laravel会把输入作为数组。

Input::get()为您提供了整个输入数组。使用特定键可以获得特定值,例如Input::get('id')。但是您的action()调用似乎只是附加了没有关键字的id。尝试例如action('DomainController@edit', ['id' => $domain->id])

也就是说,您可能想要查看命名路由和路由模型绑定,这会使整个过程变得更容易。

我认为您应该在edit:中传递$id作为参数

public function edit($id)
{
    dd($id);
}