,我发现自己被卡住或文档丢失!Laravel 5.4路由与要求,而params
我使用Laravel 5.4和我试图在控制器这需要一个请求对象来创建验证。
我的问题是我的路由传递参数,我无法在文档中找到一个示例,如何在Controller方法中包含Request $request
参数和$id
参数。
这是我的例子:
1:SomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
...
public function edit($id) {
$request = Request; // <-- Do I use that instead of passing an arg?
}
2:用放慢参数路由在 - 航线/ web.php
Route::match(['GET', 'POST'], '/some/edit/{id}', '[email protected]');
在他们的榜样@https://laravel.com/docs/5.4/requests#accessing-the-request他们有
Request $request
这在他们的控制器中,但是Route参数会发生什么?:
public function store(Request $request) {}
问:我是否需要更改路径或如果请求忽略第一个参数?
答:还是会怎么做这** SomeController.php **
public function edit(Request $request, $id)
{
// I would get the $request, but what happens to $id?
$this->validate($request, [
'title' => 'required|unique:posts|max:255',
]);
}
?B:也许,这样的事情?:
public function edit($id)
{
// Or Request::getInstance()?
$this->validate(Request, [
'title' => 'required|unique:posts|max:255',
]);
}
任何建议都会有帮助,甚至是一个例子!
谢谢!一旦时间流逝,我会标记它! :) – JREAM
我想补充一点,使用依赖注入(其中作为一种暗示说法是好(更好)的做法。 – fubar
大咨询'$ request'传递@Rob – JREAM