Cakephp:具有国家/州下拉列表的用户模型

时间:2011-12-14 22:31:23

标签: cakephp

我正在使用Auth组件进行用户登录和注册。我想将Country和State下拉列表添加到我的用户模型中。有人可以帮我解决模型文件中所需的关联吗?

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

但我得到了一个空洞的下拉!

1 个答案:

答案 0 :(得分:0)

您的 belongsTo 定义不正确。 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'));?>