2011-12-14 4 views
0

ユーザーログインと登録に認証コンポーネントを使用しています。ユーザーモデルに国と州のドロップダウンを追加したいと思います。モデルファイルで必要な関連付けを手伝ってくれますか?Cakephp:国/州を含むユーザーモデルdropdowm

class User extends AppModel { 

    var $name = 'User'; 

    var $belongsTo ="Country" ; 
} 


<?php 
class Country extends AppModel { 

    var $name = 'Country'; 

    var $hasMany = array('User'); 

}?> 

マイビュー:

echo $form->input('country_id'); 

しかし、私は空のdropdowmを取得しています!

+0

大したことは何ですか?まだ何か試しましたか?あなたができないコードをここに投稿することができます。 – mark

+0

はい、私が持っているもので更新しましょう! – jagamot

+1

ヒント:コードを焼きます。この方法でケーキがあなたのために仕事をします。あなたの答えは自分自身に答えるつもりです – mark

答えて

0

belongsToの定義が正しくありません。 belongsToの属性は配列でなければなりません:

$countries = $this->User->Country->find('list'); 
$this->set(compact('countries')); 

そして、あなたのビューは以下のようになります。

public $belongsTo = array('Country'); 

は、その後、あなたのユーザーコントローラでは、あなたがのリストを取得していることを確認します:

<?php echo $this->Form->create('User');?> 
    <fieldset> 
     <legend><?php echo __('Edit User'); ?></legend> 
     <?php 
     echo $this->Form->input('id'); 
     // more fields 
     echo $this->Form->input('country_id'); 
     ?> 
    </fieldset> 
<?php echo $this->Form->end(__('Submit'));?> 
+0

国を特定して設定するためのコードはどこにありますか? – jagamot

+0

フォームに付随するアクション。 –

+0

これはうまくいった!しかし、ドロップダウンには名前の代わりに国のIDが含まれています! – jagamot

関連する問題