我的网站上有一个下拉菜单,允许多个选择:
$this->Form->input('systems', array('label'=>'System Assignments', 'empty'=>'', 'default'=>'', 'div'=>false, 'multiple'=>true, 'class'=>'chosen',
'options'=>$systems));
我的控制器中的此代码填充了 $systems
变量:
$systems = $this->Discrepancy->find('list', array('fields' => array('id', 'description'),
'conditions'=>array('Discrepancy.deleted_record' => 0),
'order'=>array('Discrepancy.display_order'=>'ASC')));
$this->set(compact('systems'));
当用户进行选择时,行 ID 将作为数组存储在名为 systems
的字段中名为 Users
的表中。
$system_string = implode(',', $this->request->data['User']['systems']);
$this->request->data['User']['systems'] = $system_string;
systems
-------
50,22
在我的编辑屏幕上,我希望能够通过在下拉列表中添加"value"参数来使用该值数组作为我的 ID 列表,以检索和显示用户的系统选择。
'value'=>array_key($chosen_systems);
如何在 $this->Model->find 语句中使用这些存储的值?
知道了。猜猜我需要先把它全部写出来。
将以下行放在 $this->Model->find 语句中:
'conditions'=>array('Discrepancy.id'=>explode(',',$var_for_systems_from_db))