我的表格:<form action="{{route('settings.update')}}" method="POST"> @csrf <div class="col-sm-3"> <div class="form-group"> <label for="avatar">Upload a new one:</label> <input type="file" id="pic" name="pic"/> </div> </div> <div class="form-group"> <button type="submit" class="btn btn-primary">Upload avatar</button> </div> </form>我的控制器:public function update_settings($request){ $this->validate($request, [ 'pic' => 'required|image' ]); $path = $request->image->store('/img/'); Auth::user()->image = $path; return view('pages.settings');}錯誤:Too few arguments to function App\Http\Controllers\PagesController::update_settings(), 0 passed and exactly 1 expected我在 $request 中只傳遞圖像文件,但由于某種原因控制器看不到它,我做錯了什么?
1 回答

慕田峪9158850
TA貢獻1794條經驗 獲得超7個贊
要通過依賴注入獲取當前 HTTP 請求的實例,您應該Illuminate\Http\Request
在控制器構造函數或方法上對該類進行類型提示。當前請求實例將由服務容器自動注入:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class UserController extends Controller
{
? ? /**
? ? ?* Store a new user.
? ? ?*
? ? ?* @param? Request? $request
? ? ?* @return Response
? ? ?*/
? ? public function store(Request $request)
? ? {
? ? ? ? $name = $request->input('name');
? ? ? ? //
? ? }
}
很好看,在我注入依賴的方法中Illuminate\Http\Request
- 1 回答
- 0 關注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消