douzhaochan6468 2018-07-24 10:57
浏览 149
已采纳

“SQLSTATE [23000]:完整性约束违规:1048列'描述'不能为空

I'm using Laravel and trying to build a gallery, i'm testing the upload of a file to a db but i when i click submit i get the error " Illuminate \ Database \ QueryException (23000) SQLSTATE[23000]: Integrity constraint violation: 1048 Column

I've set up a GalleryController and the code is as follows

  1. namespace App\Http\Controllers;
  2. use Illuminate\Http\Request;
  3. use App\Http\Controllers\Controller;
  4. use DB;
  5. class GalleryController extends Controller
  6. {
  7. // List Galleries
  8. public function index (){
  9. //Render View
  10. return view ('gallery/index');
  11. }
  12. // Show Create From
  13. public function create(){
  14. //Render View
  15. return view ('gallery/create');
  16. }
  17. // Store Gallery
  18. public function store(Request $request){
  19. // Get Request Input
  20. $name = $request->input ('name');
  21. $description = $request->input ('description');
  22. $cover_image = $request->input ('cover_image');
  23. $owner_id = 1;
  24. // Check Image Upload
  25. if($cover_image){
  26. $cover_image_filename = $cover_image->getClientOriginalName();
  27. $cover_image->move(public_path('images'), $cover_image_filename);
  28. } else {
  29. $cover_image_filename = 'noimage.jpg';
  30. }
  31. //Insert Gallery
  32. DB::table('galleries')->insert(
  33. [
  34. 'name' => $name,
  35. 'description' => $description,
  36. 'cover_image' => $cover_image,
  37. 'owner_id' => $owner_id,
  38. ]
  39. );
  40. //Redirect
  41. return \Redirect::route('gallery.index')-> with('message', 'Gallery Created');
  42. }
  43. //Show Gallery Photos
  44. public function show($id){
  45. die ($id);

`

The main.blade.php calls the code using

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

My .env DB is set to root and password is blank too.

If any more info is needed please advise.

Thanks

展开全部

  • 写回答

1条回答 默认 最新

  • dousa1630 2018-07-24 11:10
    关注

    I think you have two error: 1) description be null because fo your input was come null or in your view file it has another name you may do this set default value?

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

    2) your second error is you save temporary image file name
    use this instead

    //Insert Gallery

    DB::table('galleries')->insert(
        [
            'name'          => $name,
            'description'   => $description,
            'cover_image'   => $cover_image_filename,
            'owner_id'      => $owner_id,
    
        ]
    );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部