Tener bit
tipo de campo significa que necesita usar valores sin procesar como solución siempre que esté insertando/actualizando ese campo.
Esto se debe a que PDO de forma predeterminada vinculará estos valores y se tratarán como cadenas, por lo tanto, bit
dará como resultado 1
:
DB::table('table')->insert(['bit_field' => 0]); // inserts 1
DB::table('table')->insert(['bit_field' => DB::raw(0)]); // inserts 0
Y sugiero cambiarlo a tinyint
si pudieras.