"SQLSTATE[23000]: 完整性约束冲突: 1048 列'说明'不能为空



我正在使用Laravel并试图构建一个库,我正在测试将文件上传到数据库,但当我单击提交时,我收到了错误"Illuminate\Database\QueryException(23000(SQLSTATE[23000]:违反完整性约束:1048列

我已经设置了一个GalleryController,代码如下

namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpControllersController;
use DB;
class GalleryController extends Controller
{
// List Galleries
public function index (){
//Render View
return view ('gallery/index');
}
// Show Create From
public function create(){
//Render View
return view ('gallery/create');
}
// Store Gallery
public function store(Request $request){
// Get Request Input
$name = $request->input ('name');
$description = $request->input ('description');
$cover_image = $request->input ('cover_image');
$owner_id = 1;
// Check Image Upload
if($cover_image){
$cover_image_filename = $cover_image->getClientOriginalName();
$cover_image->move(public_path('images'), $cover_image_filename);
} else {
$cover_image_filename = 'noimage.jpg';
}
//Insert Gallery
DB::table('galleries')->insert(
[
'name'          => $name,
'description'   => $description,
'cover_image'   => $cover_image,
'owner_id'      => $owner_id,
]
);
//Redirect
return Redirect::route('gallery.index')-> with('message', 'Gallery Created');
}

//Show Gallery Photos 
public function show($id){
die ($id);

`

main.blade.php使用调用代码

@ if(Session::has('message'))
<div class="alert alert-info">
{{Session::get('message')}}
</div>
@ endif;    

我的.env数据库被设置为root,密码也为空。

如果需要更多信息,请告知。

感谢

我认为您有两个错误:1( 描述为null,因为你的输入为null,或者在你的视图文件中它有另一个名称你可以这样设置默认值吗?

$description = ($request->input ('description')) ? $request->input('description'): "description";

2( 你的第二个错误是你保存了临时图像文件名
用这个代替

//插入多媒体资料

DB::table('galleries')->insert(
[
'name'          => $name,
'description'   => $description,
'cover_image'   => $cover_image_filename,
'owner_id'      => $owner_id,
]
);

相关内容

最新更新