cakePHP3.5
cakephpのbakeを使用し、memberの編集用ctpファイルなどを出力しました。
メソッド名は、editで、bake直後はmember情報が確かに変更されることを確認しました。
テーブル member sexカラムはintegerです。
◆変更前(bake直後のedit.ctp)
<?= $this->Form->create($member) ?> <fieldset> <?php echo $this->Form->control('email', ['label'=>'メールアドレス']); echo $this->Form->control('name', ['label'=>'名前']); echo $this->Form->control('sex', ['label'=>'性別']); ?> </fieldset> <?= $this->Form->button(__('Submit')) ?> <?= $this->Form->end() ?>
◆その後、ctpファイルを以下のように変更しました。
<?= $this->Form->create($member) ?> <fieldset> <?php echo $this->Form->control('email', ['label'=>'メールアドレス']); echo $this->Form->control('name', ['label'=>'名前']); echo $this->Form->control('sex',[ 'label' => '性別', 'type' => 'radio', 'options' => ['1' => '男性','2' => '女性'] ]); ?> </fieldset> <?= $this->Form->button(__('Submit')) ?> <?= $this->Form->end() ?>
ctp書き換え後、member情報のうち性別の更新ができなくなりました。性別以外の項目は更新可能です。
controllerのほうは変更なしです。
◆試してみたこと
$this->request->data の値を調べてみたのですが、間違いなく
'sex' => '1'
のようにpostはされているようです。
何が原因で性別だけ更新できないのか、わかりません。
ctpの編集の方法が良くないのでしょうか?
よろしくお願いいたします。
あなたの回答
tips
プレビュー