,我發現自己被卡住或文檔丟失!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