2014-09-05 83 views
4

我试图将我的列更新为NULL,但值作为字符串传递,并将列设置为0而不是null。Laravel查询生成器 - 将列设置为NULL

$update = DB::table('users')->where('id', $primary_key)->update(array($column_name => $new_value)); 

我该如何确定该列已更改为NULL

+0

你是什么意思正是由作为string''通过呢?如果你向查询提供null值,并且字段可以为空,它肯定会被设置为NULL。 – 2014-09-06 20:43:32

回答

1

检查你的MySQL表,确保该列可以为空并且默认为null。

这可以做你的migration files

$table->string('awesome_column')->nullable()->default(null); 
+0

是的,但是如果你想更新一列以将其设置为'空',你是如何做到的? – Pathros 2015-05-25 17:35:02

1

尝试以下操作:

$update = DB::table('users')->where('id', $primary_key)->update(
    array 
    (
    $column_name => Input::has('FormFieldName') ? Input::get('FormFieldName') : null, 
) 
);