Laravel生成的插入查询没有列的值

时间:2016-04-21 10:10:06

标签: sql laravel eloquent laravel-5.2

我有一个MyModel :: create($ input),它会生成以下插入语句

insert into mytable (error, result, url, pareq, id, trackid, eci, acqbin, merid, udf1, udf2, udf3, udf4, udf5, update_datetime, insert_datetime)
values (!ERROR!-ID required., , , , , , 7, 0, , , , , , , 2016-04-21 15:23:34, 2016-04-21 15:23:34)

显然这句话失败了。 使用这些, , ,生成此错误语句,因为这些值未在$ input数组中传递。我期待,null,null,null

你能帮忙理解这里发生的事情吗?

更新

我在我的模型中放了以下功能,现在可以使用了,但是这个解决方案看起来并不优雅,有没有更好的方法呢。

public static function boot()
{
    parent::boot();

    static::saving(function ($model) {
        foreach ($model->toArray() as $name => $value) {
            if (empty($value) && $value !== 0 && $value !== '0') {
                $model->{$name} = null;
            }
        }

        return true;
    });

}

由于

ķ

0 个答案:

没有答案