SQLSTATE[HY000]: General error: 1364 Field 'care' doesn't have a default value

16,831

Solution 1

Just add your value: care to your fillable

protected $fillable = [
        'care',
];

Or just make it nullable in your migration:

$table->string('care')->nullable();

Does it work?

Solution 2

$fillable needs to match the database column names not the form names.

Also, some fields need to be nullable incase the user does not have it. Exp. address

Solution 3

it seems like you are not providing the value for the path. You can either provide the value for the path column or go to the phpMyAdmin and set the default value to NULL. Or you can edit your migration file for the photos table and set the path column to be the default of null.

$table->string('path')->nullable() and then rerun migrations:

Share:
16,831
pro
Author by

pro

Updated on June 07, 2022

Comments

  • pro
    pro almost 2 years

    I'm new to Laravel and trying to add products from admin panel to index page, firstly it was working fine but now its showing me error SQLSTATE[HY000]: General error: 1364 Field 'care' doesn't have a default value, is there any solution of this problem?

    SQLSTATE[HY000]: General error: 1364 Field 'care' doesn't have a
    default value (SQL: insert into `products` (`product_name`,
    `product_code`, `product_color`, `description`, `price`, `image`,
    `updated_at`, `created_at`) values (Filter, ASD111, CLR, ASDF, 1000, 
    85525.png, 2019-01-10 17:18:33, 2019-01-10 17:18:33))
    

    This is ProductsController:

      public function addProduct(Request $request){
    
      if($request->isMethod('post')){
        $data = $request->all();
        //echo "<pre>"; print_r($data); die;
    
        $product = new Product;
        $product->product_name = $data['product_name'];
        $product->product_code = $data['product_code'];
        $product->product_color = $data['product_color'];
        if(!empty($data['description'])){
          $product->description = $data['description'];
        }else{
        $product->description = '';         
        }
        $product->price = $data['price'];
    
        // Upload Image
        if($request->hasFile('image')){
          $image_tmp = Input::file('image');
          if($image_tmp->isValid()){
            $extension = $image_tmp->getClientOriginalExtension();
            $filename = rand(111,99999).'.'.$extension;
            $large_image_path = 
            'images/backend_images/products/large/'.$filename;
            $medium_image_path = 
            'images/backend_images/products/medium/'.$filename;
            $small_image_path = 
            'images/backend_images/products/small/'.$filename;
            // Resize Images
            Image::make($image_tmp)->save($large_image_path);
            Image::make($image_tmp)->resize(600,600)->save($medium_image_path);
            Image::make($image_tmp)->resize(300,300)->save($small_image_path);
    
            // Store image name in products table
            $product->image = $filename;
            }
           }
    
        $product->save();
    
            return redirect('/admin/view-products')- 
       >with('flash_message_success','Product has been added successfully!');
      }
    
    
      return view('admin.products.add_product');
    }
    
    public function editProduct(Request $request, $id=null){
    
      if($request->isMethod('post')){
        $data = $request->all();
        //echo "<pre>"; print_r($data); die;
    
    
        if($request->hasFile('image')){
          $image_tmp = Input::file('image');
          if($image_tmp->isValid()){
            $extension = $image_tmp->getClientOriginalExtension();
            $filename = rand(111,99999).'.'.$extension;
            $large_image_path = 'images/backend_images/products/large/'.$filename;
            $medium_image_path = 'images/backend_images/products/medium/'.$filename;
            $small_image_path = 'images/backend_images/products/small/'.$filename;
            // Resize Images
            Image::make($image_tmp)->save($large_image_path);
            Image::make($image_tmp)->resize(600,600)->save($medium_image_path);
            Image::make($image_tmp)->resize(300,300)->save($small_image_path);
    
            // Store image name in products table
            $product->image = $filename;
          }
        }
    
        if(empty($data['description'])){
              $data['description'] = '';
            }
    
    
        Product::where(['id'=>$id])->update(['product_name'=>$data['product_name'],'product_code'=>$data['product_code'],'product_color'=>$data['product_color'],'description'=>$data['description'],'price'=>$data['price'],'image'=>$fileName]);
        return redirect()->back()->with('flash_message_success','Product updated successfully!');
    
    
      }
    
      //Get product details
      $productDetails = Product::where(['id'=>$id])->first();
    
      return view('admin.products.edit_product')->with(compact('productDetails'));
    }