2012-02-15 6 views
0

現在、私はチェックボックスの作成に成功しました。私はセットアップを持っている 配列は以下の通りです:次のようにCakephp - チェックボックスの名前

$emailName = $this->User->find('list', array(
    'fields' => array('User.username', 'User.email') 
    )); 

出力は次のとおりです。

array 
    'admin' => string '[email protected]' (length=11) 
    'test' => string '[email protected]' (length=14) 
    'Floo' => string '[email protected]' (length=16) 

私は、チェックボックスを作成しようとしているが、ユーザー名の代わりに、ビューのユーザーの電子メールを示しています。 ctp。

私はしかし、これが動作しないようですview.ctp

<?php echo $this->Form->input('Address_list.['.$emailName['username'].']', array(
    'type' => 'select', 
    'multiple' => 'checkbox', 
    'options' => $emailName['email'] 
    )); ?> 

に次のコードを使用して試してみました。何か案は?

+2

まず、ケーキの変換をフォローしていません。私は "Address_list"がメークアップフィールドであると仮定しています。この作業をするには、単にフィールド名から '['と ']'を削除すれば問題は解決します。 –

+0

いいえ、削除しようとしましたが機能しません。 – user1192304

答えて

3

チェックボックスリストのフォームフィールドが正しくフォーマットされていません。これに変更してみてください:

echo $this->Form->input('Address_list', array(
    'multiple' => 'checkbox', 
    'options' => $emailName, 
)); 

ただし、これはユーザーが選択した電子メールの選択に基づいてユーザー名の値を返します。

<label for="Address_list">Address List</label> 
<input type="hidden" id="Address_list" value="" name="data[Address_list]"/> 
<div class="checkbox"><input type="checkbox" id="AddressListAdmin" value="admin" 
    name="data[Address_list][]"/><label for="AddressListAdmin">[email protected]</label></div> 
<div class="checkbox"><input type="checkbox" id="AddressListTest" value="test" 
    name="data[Address_list][]"/><label for="AddressListTest">[email protected]</label></div> 
<div class="checkbox"><input type="checkbox" id="AddressListFloo" value="Floo" 
    name="data[Address_list][]"/><label for="AddressListFloo">[email protected]</label></div> 
+0

はい。これは動作します。私が欲しいものを達成するために、私はfindメソッドを再コーディングします。メールが最初に来て名前が2番になるように。 – user1192304

関連する問題