Image Laravel用户后期图像
这是在用户控制器中Image Laravel用户后期图像,image,laravel,post,upload,Image,Laravel,Post,Upload,这是在用户控制器中 public function store(Request $request, User $user) { $this->validate($request, [ 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 'body' => 'required' ]); if(
public function store(Request $request, User $user)
{
$this->validate($request, [
'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
'body' => 'required'
]);
if( $request->hasFile('image') ) {
$image = $request->file('image');
$filename = time() . '.' . $image->getClientOriginalExtension();
Image::make($image)->resize(600, 600)->save( public_path('uploads/images/' . $filename ) );
}
$post = Post::get();
$post->image = $filename;
$post->save();
Session::flash( 'sucess', 'Post published.' );
auth()->user()->publish(
new Post(request(['body']))
);
return redirect('/');
}
我无法发布看到某些可选错误的图像SQLSTATE[HY000]:一般错误:
1364字段“image”没有默认值SQL:insert into
发布正文,更新日期,创建日期,日期:2018-02-21
09:42:492018-02-21 09:42:49
由于该字段不可为空,因此应将代码更改为:
$post->image = $filename ?? '';
或使相关迁移文件中的图像字段为空:
$table->string('image')->nullable();
此外,与get不同的是:
您只需创建一个新的Post实例:
$post = new Post;
这是因为$image为null,并且它在DB中的列不可为null,请将其设为null
$table->string('image')->nullable();
或者不传递null
$post->image = $filename ?? '';//this is php 7 syntax
或
dd$filename可能为空;你能显示你的发布方法吗?公共函数publishPost$post{$this->posts->save$post;}仍然有相同的错误
$post->image = $filename ?? '';//this is php 7 syntax
$post->image = isset($filename) ? $filename :' ';