Това е по дизайна на CakePHP. CakePHP винаги вижда tinyint(1)
като булев, следователно винаги ще преобразува вашата стойност в true
/false
следователно 1
/0
.
За да преодолеете този проблем, използвайте tinyint(2)
вместо за вашия тип колона. Не забравяйте да изчистите кеша на вашия модел!
Документация за типа данни на CakePHP:
http://book.cakephp.org/3.0/en/orm/database-basics.html#data-types
Публикация в блога за това:
http://blog.room34.com/archives/2649
Подобни въпроси и отговори:
CakePHP и tinyint като булеви