我有两张桌子:
在我的添加操作中,我填充了phonetypes
表(只有1列,即phone_type
)的下拉框。
我的contacts
表格包含以下字段:l_name
,f_name
,phone_type
和number
。
我将下拉列表的displayField设为phone_type
。根据下拉列表中的选择,我尝试在phone_types
表中插入contacts
字段,但它会插入phonetypes
表中的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');
答案 0 :(得分:1)
更好的问题是,如果您没有在电话类型表中使用主键的ID,为什么甚至使用数据库,为什么不使用静态数组呢?如果要使用数据库,则应该在ID列上添加ID,并将ID存储在引用手机类型的联系人表中。然后,要获取丢弃数据,您将执行以下操作:
$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'));