3
我正在关注dropzone视频(https://laracasts.com/series/build-project-flyer-with-me/episodes/11)。在我的情况下,用户有很多文件。Laravel实例错误
但我被困在以下情况例外:
Argument 1 passed to App\User::addFile() must be an instance of App\files, instance of Symfony\Component\HttpFoundation\File\UploadedFile given, called in D:\wamp\www\local\app\Http\Controllers\UploadCenterController.php on line 28 and defined
我storeFiles控制器:
public function storeFiles(Request $request)
{
$this->validate($request, [
'file' => 'required|mimes:jpg,jpeg,png,bmp'
]);
$file = $request->file('file');
$name = time() . $file->getClientOriginalName();
$file->move('files/user',$name);
$saveFile = files::fromForm($file);
$user = Auth::user()->addFile($saveFile);
}
在文件模型的静态方法fromForm:
public static function fromForm(UploadedFile $file)
{
$newFile = new static;
$name = time() . $file->getClientOriginalName();
$newFile->path = '/files/user/'.$name;
return $file;
}
在用户
而且addFile型号:
public function addFile(files $file)
{
return $this->files()->save($file);
}
请帮忙!
- 编辑 -
整个文件类:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class files extends Model
{
protected $table = 'user_images';
protected $fillable = ["user_id","path"];
public function user()
{
return $this->belongsTo('App\User');
}
public static function fromForm(UploadedFile $file)
{
$newFile = new static;
$name = time() . $file->getClientOriginalName();
$newFile->path = '/files/user/'.$name;
return $file;
}
}
请为'addFile'方法定义的参数提示'files'类的代码。 – Bogdan
请参阅我的编辑 – Jamie