PhalconPHP で boolean の値が保存できない?
PhalconPHP + MySQL で、
hoge_flag tinyint(1) not null というカラムの定義で
boolean の値を保存したかった。
$hoge = true; //何か判定した結果とか、外部から設定するとか。
$model = new Piyo();
$model->hoge_flag = $hoge;
$model->save();
ってやっても保存できない。
$model->getMessages() で取れるエラーメッセージを確認すると
hoge_flag is required とのこと。
セットしたのに required って言われても…
$model->hoge_flag = $hoge; //$hoge は true か false
ではなく、
$model->hoge_flag = $hoge ? 1 : 0; //$hoge は同上
とすると無事に保存できた。
tinyint なので、確かに数字を入れるべきだとは思う…が、他の ORM は何とかしてくれていたのでなかなか気づかなかった…
これにはまるの少なくとも2度目、もしかしたらもっとなので、雑だけどメモ。
hoge_flag tinyint(1) not null というカラムの定義で
boolean の値を保存したかった。
$hoge = true; //何か判定した結果とか、外部から設定するとか。
$model = new Piyo();
$model->hoge_flag = $hoge;
$model->save();
ってやっても保存できない。
$model->getMessages() で取れるエラーメッセージを確認すると
hoge_flag is required とのこと。
セットしたのに required って言われても…
$model->hoge_flag = $hoge; //$hoge は true か false
ではなく、
$model->hoge_flag = $hoge ? 1 : 0; //$hoge は同上
とすると無事に保存できた。
tinyint なので、確かに数字を入れるべきだとは思う…が、他の ORM は何とかしてくれていたのでなかなか気づかなかった…
これにはまるの少なくとも2度目、もしかしたらもっとなので、雑だけどメモ。
by tokage-shippo
| 2015-08-04 16:07
