Cakephp:具有国家/州dropdowm的用户模型
我正在使用Auth组件进行用户登录和注册。我想将国家和州下拉列表添加到我的用户模型中。有人能帮我处理模型文件中所需的关联吗Cakephp:具有国家/州dropdowm的用户模型,cakephp,Cakephp,我正在使用Auth组件进行用户登录和注册。我想将国家和州下拉列表添加到我的用户模型中。有人能帮我处理模型文件中所需的关联吗 class User extends AppModel { var $name = 'User'; var $belongsTo ="Country" ; } <?php class Country extends AppModel { var $name = 'Country'; var $hasMany = arra
class User extends AppModel {
var $name = 'User';
var $belongsTo ="Country" ;
}
<?php
class Country extends AppModel {
var $name = 'Country';
var $hasMany = array('User');
}?>
但是我得到了一个空的dropdowm 您所属的定义不正确。belongsTo属性必须是数组:
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'));?>
有什么大不了的?你试过什么了吗?你可以在这里发布不起作用的代码。是的,让我用我拥有的更新!提示:烘焙你的代码。这样蛋糕就可以帮你了。你的答案会有答案的itself@Mark-谢谢你的提示!我从来没有想到我应该尝试烘烤!我有更多的协会来…一定会尝试烘焙脚本!在控制器中查找和设置国家/地区的代码在哪里?表单附带的操作。成功了!但是下拉列表包含的是国家ID而不是名称!您需要设置您所在国家/地区模型的$displayField。它可能是public$displayField='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'));?>