CakePHPのcheckboxにTinyint型を入れてみるけど表示されない

formヘルパーでcheckboxを出力したときにcheckedにチェックを入れた状態で表示したくてMySQLから引っ張ってきたtinyint型の1を直接checkedのオプションにつけてみるけど表示されない。

//true or falseだとok
$form->checkbox("HogeHoge.Foo",array("checked"=>true));
//これだとチェックが入らない
$form->checkbox("HogeHoge.Foo",array("checked"=>$tinyint));

これは、formヘルパー内のオプションチェックの場所で === (厳密に比較されているために true === 1 がfalseになるようだ

対処方法

//三項演算で無理やりtrueを出力
$form>checkbox("HogeHoge.Foo",array("checked"=>($tinyint ? true:false)));

配列の中に無理やり演算を入れたので微妙な感じかもしれない



One thought on “CakePHPのcheckboxにTinyint型を入れてみるけど表示されない

  1. SECRET: 0
    PASS:
    誤字あったので修正!!

コメントを残す