SQLSTATE[42S22]:找不到列:1054 'field list' 中的未知列“0”
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list'
我写了一个 lumen 代码来更新我的 table 字段,
这是我的代码 -
$field='';
if($request->input('category')){
$val=$request->input('category');
$field="'category' => '$val'";
}
if($request->input('subcategory')){
$val=$request->input('subcategory');
if($field==''){
$field="'sub_category' => '$val'";
} else{
$field.=",'sub_category' => '$val'";
}
}
// return $field;
$Expence=DB::table('expencedetails')
->where('id',$request->input('id'))
->update(['$field']);
$field
的值为'category' => 'fgfg'
,'sub_category' => 'ggg'
.
当我 运行 代码显示错误时
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field
list' (SQL: update expencedetails
set 0
= $field where id
= 1)
参考https://laravel.com/docs/5.0/queries#updates
Syntax:
->update(['votes' => 1]);
我认为您的更新缺少参数
->update(['$field'])
以下更改可能会有所帮助:
->update(['your_column_name_here' => $field])
您可能需要将逻辑重写为
$fields=array();
if($request->input('category')){
$fields['category'] = $request->input('category');
}
if($request->input('subcategory')){
$fields['sub_category'] = $request->input('subcategory');
}
$Expence=DB::table('expencedetails')
->where('id',$request->input('id'))
->update($fields);
- 如果请求有类别则更新类别
- 如果请求只有 sub_category 则更新 sub_category
- 如果请求有两个类别
和 sub_category 然后更新两者
我写了一个 lumen 代码来更新我的 table 字段, 这是我的代码 -
$field='';
if($request->input('category')){
$val=$request->input('category');
$field="'category' => '$val'";
}
if($request->input('subcategory')){
$val=$request->input('subcategory');
if($field==''){
$field="'sub_category' => '$val'";
} else{
$field.=",'sub_category' => '$val'";
}
}
// return $field;
$Expence=DB::table('expencedetails')
->where('id',$request->input('id'))
->update(['$field']);
$field
的值为'category' => 'fgfg'
,'sub_category' => 'ggg'
.
当我 运行 代码显示错误时
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update
expencedetails
set0
= $field whereid
= 1)
参考https://laravel.com/docs/5.0/queries#updates
Syntax:
->update(['votes' => 1]);
我认为您的更新缺少参数
->update(['$field'])
以下更改可能会有所帮助:
->update(['your_column_name_here' => $field])
您可能需要将逻辑重写为
$fields=array();
if($request->input('category')){
$fields['category'] = $request->input('category');
}
if($request->input('subcategory')){
$fields['sub_category'] = $request->input('subcategory');
}
$Expence=DB::table('expencedetails')
->where('id',$request->input('id'))
->update($fields);
- 如果请求有类别则更新类别
- 如果请求只有 sub_category 则更新 sub_category
- 如果请求有两个类别 和 sub_category 然后更新两者