尝试在控制器内部批量分配值时找不到列错误

时间:2019-04-11 11:22:45

标签: php eloquent laravel-5.5 mass-assignment

我在尝试为表中的所有列分配值时遇到此错误。

控制器

public function updateallcompany(Request $request, $id)
{
    $active = $request->input('active');
    AccessCode::where('company_id', $id)->update([$active, 'active']);

    return view('pages.accesscode.showallaccesscodecompany')
        ->with('success', "AccessCodes Updated");
}

错误

  

SQLSTATE [42S22]:找不到列:1054'字段中的未知列'0'     列表”(SQL:更新access_codes设置0 =是,1 =有效,updated_at = 2019-04-11 11:10:03其中company_id = 2)

1 个答案:

答案 0 :(得分:1)

您必须将$active的值传递到字段active

您可以在laravel文档中看到Mass Updates示例: https://laravel.com/docs/5.8/eloquent

尝试:

 AccessCode::where('company_id', $id)->update(['active' => $active]);