Toto je design CakePHP. CakePHP vždy vidí tinyint(1) jako boolean, proto vždy převede vaši hodnotu na true /false proto 1 /0 .
Chcete-li tento problém vyřešit, použijte tinyint(2) místo pro váš typ sloupce. Nezapomeňte vymazat mezipaměť modelu!
Dokumentace k datovému typu CakePHP:
https://book.cakephp.org/3.0/en/orm/database-basics.html#data-types
Blogový příspěvek o tomto:
https://blog.room34.com/archives/2649
Podobné otázky a odpovědi:
CakePHP a tinyint jako boolean