Posiadanie bit type field oznacza, że musisz użyć nieprzetworzonych wartości jako obejście za każdym razem, gdy wstawiasz/aktualizujesz to pole.
Dzieje się tak, ponieważ PDO domyślnie powiąże te wartości i będą one traktowane jako ciągi, stąd bit da wynik 1 :
DB::table('table')->insert(['bit_field' => 0]); // inserts 1
DB::table('table')->insert(['bit_field' => DB::raw(0)]); // inserts 0
I proponuję zmienić go na tinyint jeśli możesz.