Avere bit
campo tipo significa che è necessario utilizzare valori non elaborati come soluzione alternativa ogni volta che si inserisce/aggiorna quel campo.
Questo perché PDO per impostazione predefinita legherà questi valori e verranno trattati come stringhe, quindi bit
risulterà in 1
:
DB::table('table')->insert(['bit_field' => 0]); // inserts 1
DB::table('table')->insert(['bit_field' => DB::raw(0)]); // inserts 0
E suggerisco di cambiarlo in tinyint
se potessi.