【发布时间】:2021-10-17 12:13:38
【问题描述】:
所以我尝试按照this 教程让我的用户能够上传个人资料图片。
但是在 HomeController 中最后的“更新”中给了我“未定义的方法”。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use App\Models\Flight;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('home');
}
public function upload(Request $request)
{
if($request->hasFile('image')){
$filename = $request->image->getClientOriginalName();
$request->image->storeAs('images',$filename,'public');
Auth()->user()->update(['image'=>$filename]);
}
return redirect()->back();
}
}
我已经尝试在上面“使用”Eloquent,以为是它的更新方法,但它仍然不起作用。
有什么我需要先调用它才能工作吗?
【问题讨论】:
-
尝试 $user = User::find(auth()->id()); $user->update(['image'=>$filename]);或 $user = User::find(auth()->id()); $用户->图像=$文件名; $user->save();
-
好的,现在它不会在更新时给出错误,而是在用户上给出:: Undefined type 'App\Http\Controllers\User'。
-
你必须像使用 App\Models\User 一样导入用户模型;