【问题标题】:SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list'SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列 '0'
【发布时间】:2018-01-03 08:32:01
【问题描述】:

我写了一个流明代码来更新我的表格字段, 这是我的代码 -

$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' list' (SQL: update expencedetails set 0 = $field where id = 1)

【问题讨论】:

    标签: mysql laravel-5 lumen


    【解决方案1】:

    参考https://laravel.com/docs/5.0/queries#updates

    语法:

    ->update(['votes' => 1]);
    

    我认为您的更新缺少参数

    ->update(['$field'])
    

    跟随变化可能会有所帮助:

    ->update(['your_column_name_here' => $field])
    

    【讨论】:

    • $field 包含 'your_column_name_here' => $value;请再读一遍我的代码
    • 检查 khalid junaid 的回答。它是有效的
    【解决方案2】:

    您可能需要将逻辑重写为

    $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 然后更新两者

    【讨论】:

    • @M Khalid Junaid:没有做任何改变
    • SQLSTATE[42S22]:未找到列:1054 '字段列表'中的未知列 '0'(SQL:更新expencedetails 设置0 = fgfg,1 = ccccc 其中@987654326 @ = 2)
    • @JIJOMONK.A 我很糟糕,您需要将键/值数组传递给update() 函数检查更新的答案
    • 谢谢你的工作......你能检查一下这个问题吗[stackoverflow.com/q/48072586/9143792]
    • @M Khalid Junaid:如果我想用空值更新列“sub_category”我该怎么办??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 2021-10-31
    • 2018-10-23
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多