Laravel查询正在查找不带';不存在

Laravel查询正在查找不带';不存在,laravel,laravel-5,Laravel,Laravel 5,我有在产品创建期间上传图像的功能。这是控制器中createSubmit中的函数 public function productsCreateSubmit() { $product = new Product; $product->title = Input::get('title'); $product->price = Input::get('price'); if (Input::hasFile('image')) { $file

我有在产品创建期间上传图像的功能。这是控制器中createSubmit中的函数

public function productsCreateSubmit()
{

    $product = new Product;
    $product->title = Input::get('title');
    $product->price = Input::get('price');
    if (Input::hasFile('image')) {
        $file = Input::file('image');
        $filename = str_random(20);
        $file->move('uploads/', $filename . '.' . $file->getClientOriginalExtension());
        $imagePath = 'uploads/' . $filename . '.' . $file->getClientOriginalExtension();
        $image = Image::make($imagePath);

        if ($image->width() > 200) {
            $image->resize(200, null, function ($constraint) {
                $constraint->aspectRatio();
            });
        }
        if ($image->height() > 200) {
            $image->resize(null, 200, function ($constraint) {
                $constraint->aspectRatio();
            });
        }
        $image->save();
    } else {
        $imagePath = 'default.png';
    }
    $product->image = $imagePath;
    $product->save();
    return Redirect::to('/admin/products');
}
当我单击submit时,我收到一个错误,即数据库中的列没有默认值

SQLSTATE[HY000]:一般错误:1364字段“file_id”没有默认值(SQL:insert-into
products
title
price
image
)值(test,1,uploads/awy3cvvhlajer1gfpu.jpg))

问题是表中没有这样的列。这是产品的型号

class Product extends Eloquent 
{
    protected $table = 'products';
    protected $primaryKey = 'product_id';
    public $timestamps = false;        
}

laravel如何决定插入/查找此字段?

如果数据库表中有
file\u id
列,请转到phpmyadmin中的表结构,然后单击file\u id列前面的
change
,然后将属性
默认值设置为NULL
,并勾选
NULL复选标记。
点击保存


重新运行项目

这与laravel无关,您的数据库中有一个没有默认值的
file\u id
字段,可能您也有一个
files

保存laravel时只设置了三个字段:
title
price
image
,但不设置
file\u id
,而且由于
file\u id
没有默认值,mysql不知道填充什么并返回错误


您可以将
文件\u id
更改为可空,并将其默认值设置为空。

您可以为产品表添加迁移文件吗?我没有此迁移。它是直接在phpmysql中创建的。即使在控制器中不使用该列,您确定数据库中也没有该列吗?我有它,但在ControllerDoe的save()语句中的任何地方都没有使用它。不管您是否使用它,Eloquent都是。为该列输入默认值,该函数将工作。