【发布时间】:2018-06-06 04:57:10
【问题描述】:
我正在尝试使用$media->onDuplicateReplace();
在代码中:
public function update($id){
$user = User::find($id);
$user->name=request('name');
$user->email=request('email');
$user->password=request('password');
$user->description=request('description');
$user->country_id=request('country');
$user->state_id=request('state');
$user->city_id=request('city');
$user->works_at=request('works_at');
$user->studies_at=request('studies_at');
$uid = $id;
$img = Image::make(request('file'));
$img->resize(800, null, function ($constraint) {
$constraint->aspectRatio();
});
$img->crop(800,800);
$img->save('uploads/users/images/'.$uid.'.jpg');
$media = MediaUploader::import('uploads', 'users/images', $uid, 'jpg');
$media->onDuplicateReplace();
$user->attachMedia($media, 'image');
$user->update();
return redirect('/');
}
但我不为我工作,不断发送错误:
SQLSTATE[23000]:违反完整性约束:1062 重复条目 'uploads-users/images-1-jpg' 用于密钥 'media_disk_directory_filename_extension_unique'(SQL:插入 媒体(磁盘、目录、文件名、扩展名、mime_type、 aggregate_type, size, updated_at, created_at) 值(上传, 用户/图片, 1, jpg, 图片/jpeg, 图片, 49344, 2017-12-24 10:10:07, 2017-12-24 10:10:07))
这东西也不行:
'on_duplicate' => Plank\Mediable\MediaUploader::ON_DUPLICATE_REPLACE,
如果文件已经存在,我如何制作媒体来替换文件?
【问题讨论】: