我写了一个流明代码来更新我的表字段, 这是我的代码 -
$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]:未找到列:1054未知列' 0'在'领域 表' (SQL:更新
expencedetails
设置0
= $ field其中id
= 1)
答案 0 :(得分:1)
请参阅https://laravel.com/docs/5.0/queries#updates
语法:
->update(['votes' => 1]);
我认为您的更新缺少参数
->update(['$field'])
以下更改可能有所帮助:
->update(['your_column_name_here' => $field])
答案 1 :(得分:0)
您可能需要将逻辑重写为
$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);