使用cakephp在DB中存储下拉值
我有两张桌子:使用cakephp在DB中存储下拉值,php,mysql,cakephp,drop-down-menu,Php,Mysql,Cakephp,Drop Down Menu,我有两张桌子: 接触 电话类型 在我的添加操作中,我从电话类型表中填充了一个下拉框(该表只有一列,即电话类型) Mycontacts表中有以下字段:l\u name、f\u name、phone\u type和number 我将下拉列表的显示字段设置为phone\u type。根据下拉列表中的选择,我尝试在联系人表中插入电话类型字段,但它会插入电话类型表中的id。但我想插入值而不是id 感谢您的帮助 我的视图代码: echo $this->Form->create('Cont
电话类型
表中填充了一个下拉框(该表只有一列,即电话类型
)
Mycontacts
表中有以下字段:l\u name
、f\u name
、phone\u type
和number
我将下拉列表的显示字段设置为phone\u type
。根据下拉列表中的选择,我尝试在联系人
表中插入电话类型
字段,但它会插入电话类型
表中的id。但我想插入值而不是id
感谢您的帮助
我的视图代码:
echo $this->Form->create('Contact');
echo $this->Form->input('last_name', array('type'=>'text', 'size'=>10));
echo $this->Form->input('first_name');
echo $this->Form->select('phonetypes.phone_type',array('phone_type'=>'phone_type','options'=>$phone_type,'default'=>'phone_type'));
echo $this->Form->input('phone_number');
echo $this->Form->end('Save Entry');
更好的问题是,如果在phone types表中不使用主键ID,为什么还要使用数据库,为什么不使用静态数组?如果要使用数据库,则应添加ID列,并将ID存储在引用电话类型的contacts表中。然后,要获取放置数据,请执行以下操作:
$this->set('phone_types', $this->PhoneType->find('list));
然后在视图中,表单字段如下所示:
echo $this->Form->input('phone_type', array('options'=> $phone_types));
如果不想在表中使用ID,则只需删除该表并设置静态数组:
$this->set('phone_types', array('Home' => 'Home', 'Cell' => 'Cell', 'Work' => 'Work'));
查看您正在使用的一些代码会有所帮助。尝试发布您的模型和您所指的添加操作。请在您的视图中添加代码,其中是电话类型列表,可能存在问题。我已包含我的视图代码。希望这有助于解决我的简单问题