Có bit
trường loại có nghĩa là bạn cần sử dụng các giá trị thô như một giải pháp thay thế bất cứ khi nào bạn chèn / cập nhật trường đó.
Đó là bởi vì PDO theo mặc định sẽ ràng buộc các giá trị này và chúng sẽ được coi là chuỗi, do đó bit
sẽ dẫn đến 1
:
DB::table('table')->insert(['bit_field' => 0]); // inserts 1
DB::table('table')->insert(['bit_field' => DB::raw(0)]); // inserts 0
Và tôi khuyên bạn nên thay đổi nó thành tinyint
nếu bạn có thể.