2011-12-14 69 views
0

我使用Auth组件进行用户登录和注册。我想将Country和State下拉列表添加到我的用户模型中。有人可以帮助我在模型文件中的所需关联?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 2011-12-14 22:51:23

+0

是的,让我用我拥有的更新! – jagamot 2011-12-14 22:58:02

回答

0

您的belongsTo的定义是错误的。在属于关联属性必须是一个数组:

public $belongsTo = array('Country'); 
用户

然后控制器,请确保你得到国家名单:

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

而且你的观点看起来是这样的:

<?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'));?>