CakePHP 2:使用存储的数组作为$ this-> Model-> find语句

时间:2018-01-18 19:40:40

标签: php arrays cakephp

我的网站上有一个下拉菜单,允许多项选择:

$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将作为数组存储在名为Users的{​​{1}}字段中的表中。

systems

在我的编辑屏幕上,我希望能够使用该数组值作为我的ID列表,通过在下拉列表中添加'value'参数来检索和显示用户的系统选项。

$system_string = implode(',', $this->request->data['User']['systems']);
 $this->request->data['User']['systems'] = $system_string;

systems
-------
 50,22

如何在$ this-> Model-> find语句中使用这些存储的值?

1 个答案:

答案 0 :(得分:0)

知道了。我猜我需要先把它写出来。

将以下行放在$ this-> Model-> find语句中:

'conditions'=>array('Discrepancy.id'=>explode(',',$var_for_systems_from_db))