調べてみればいくらでも情報は出てくるけれども、ハマった本人はたまらない経験でした。
MySQLのtinyint(1)のカラムにCakePHPのsaveメソッドで値を登録しようとすると
どうにも正しく値が登録されない。
save()メソッド直前までデータをダンプして追い続けたけど、値自体は正しく渡ってきている。
(tinyint(1)ならunsignedじゃなくても127まではいけるはずなのにな…)
……(・・?
どうやらCakePHPのsave()メソッドはtinyint(1)はbooleanとして扱うようです。
ググればいくらでも情報は出てきたのですが、既存で使用されているカラムの型が原因なんて思いつかず...orz
回避策は以下の2つかと。
・tinyint(1)やめる
・query()メソッドで直接SQL発行
普通にやるなら上ですかね?