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

Column not found error while trying to mass assign values inside controller

当我尝试为 table 中的所有列赋值时出现此错误。

控制器

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]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: update access_codes set 0 = Yes, 1 = active, updated_at = 2019-04-11 11:10:03 where company_id = 2)

您必须将 $active 值传递给字段 active

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

尝试:

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