2012-04-03 4 views
0

adminsが複数のユーザーをグループに追加できるアプリケーションを構築しています。 UserControllerのAddアクションでは、次のようになります。form-> select( 'group_id')は、Cakephpのグループではなくidだけを表示します。

$this->set('groups', $this->User->Group->find('list')); 

出力は、現在グループテーブルにある別のグループの選択ボックスにする必要があります。

Groups table: 
    'id' 'group' 'comments' 

Model (user): 
    public $belongsTo = array('Group'); 

UserController: 
    $this->set('groups', $this->User->Group->find('list')); 

View (Users/add) 
    echo $this->Form->input('Group_id'); 

私は間違っていますか?

+0

どのケーキのバージョンを使用していますか? –

+0

2.1現在、それは新しいビルドです。 –

+0

あなたはそれを正しく行うようです。 http://book.cakephp.org/2.0/ja/core-libraries/helpers/form.html –

答えて

0
を役に立てば幸い Groupクラスで

これは、それが標準モデルでname場だったとfind('list')は、あなたが望む結果を生むかのように、このクラスのために、それはgroupを扱う必要があり、ケーキを教えてくれます

var $displayField = 'group'; 

この行を追加します。

+0

ありがとう!本当にトリックでした! –

+0

...自動的に 'グループ'フィールドが表示され、通常は '名前'フィールドが他の多くのコンテキストでも表示されます。 – Annabel

+0

便利なことを知っている!ありがとう! –

0

正しく見えますが、ユーザーのテーブルにgroup_idフィールドがあるとします。カップルを試してみるのもいいかもしれない。

  1. がます$ this->フォーム - >入力をエコー従うようGROUP_IDは(、$グループを 'GROUP_ID')

  2. 変更選択ボックスの表示をGROUP_IDします。

+0

私は2番目のパラメータとして$グループが正しいとは思わない – mark

0

プログラミングでは文字の大文字が重要です。 ファイルだけでなく、クラス名や場合によってはフィールド名にも使用できます。 そうでない場合は、あなたのコードが正しく動作しません。

echo $this->Form->input('group_id'); 

は、物事を修正する必要があります。私は、検索(「リスト」)はIDと名前を探している間違ってないんだけど、あなたが名前フィールド が欠落しているので、あなたがあなたのケースでフィールドを指定する必要がある場合は

0

は、私はそれが

関連する問題