Dit is het ontwerp van CakePHP. CakePHP ziet altijd tinyint(1) als boolean, daarom zal het uw waarde altijd converteren naar true /false vandaar de 1 /0 .
Om dit probleem op te lossen, gebruikt u tinyint(2) in plaats daarvan voor uw kolomtype. Vergeet niet om je modelcache te wissen!
Documentatie over het gegevenstype van CakePHP:
https://book.cakephp.org/3.0/en/orm/database-basics.html#data-types
Blogpost hierover:
https://blog.room34.com/archives/2649
Vergelijkbare Q&A:
CakePHP en tinyint als boolean