Cake3系の事でつまづいた部分があり、ご相談させていただきました。
Cakephp3.2
PHP5.6
mysql5.6
やりたいことはシンプルで、
User情報に紐づくTagデータをチェックボックスで編集出来る画面を作りたいと思っています。
Templateには$userを渡して、
PHP
1template 2<?= $this->Form->create($user); ?> 3 4<?php foreach ($tags as $key => $val) : ?> 5 <?= $this->Form->input('tags.' . $key . '.name', [ 6 'label' => $val, 7 'class' => 'form-control', 8 'type' => 'checkbox', 9 'value' => $val 10 ] 11) ?> 12 13<?php endforeach; ?> 14<?= $this->Form->submi("send"); ?> 15<?= $this->Form->end(); ?>
このような感じで書いてみたのですが、うまくいきません。
var_dumpしたデータは以下のようになります。
PHP
1array (size=1) 2 'tags' => 3 array (size=24) 4 0 => 5 array (size=1) 6 'TagName' => string '0' (length=1) 7 1 => 8 array (size=1) 9 'TagName' => string '0' (length=1) 10 2 => 11 array (size=1) 12 'TagName' => string '0' (length=1) 13 3 => 14 array (size=1) 15 'TagName' => string '0' (length=1) 16 4 => 17 array (size=1) 18 'TagName' => string '0' (length=1) 19 5 => 20 array (size=1) 21 'TagName' => string '0' (length=1) 22 6 => 23 array (size=1) 24 'TagName' => string '0' (length=1) 25 7 => 26 array (size=1) 27 'TagName' => string '0' (length=1) 28 8 => 29 array (size=1) 30 'TagName' => string '0' (length=1) 31 9 => 32 array (size=1) 33 'TagName' => string 'TagName' (length=7) 34 10 => 35 array (size=1) 36 'TagName' => string '0' (length=1)
CakeのHelperの性質を活かして、『DBにデータが格納されている場合は、チェックが入れてある』みたいにしたいです。
よろしくお願い致します。
※追加
テーブル構成は以下のような感じです。
Usersテーブル
id int
username varchar
password varchar
created datetime
modified datetime
Tagsテーブル
id int
user_id int
tagName varchar
created datetime
modified datetime
回答2件
あなたの回答
tips
プレビュー