以下查询根据分配给用户的系统返回结果。所有用户的系统分配都存储在名为systems
的列中以逗号分隔的数组中。 (例如,22,50,8,18
。)
SELECT full_name, email_address FROM users WHERE dept_id = 1 AND LOCATE('8', systems);
在MySQL中运行此查询时,它会返回分配了系统8的每个用户的名称和电子邮件地址。我需要为CakePHP 2.0格式化此查询,LOCATE参数将来自我的add.ctp文件($current['Doc']['dept_id']
)中的变量。到目前为止,我已经有了这个,这对于找到dept_id = 1
的每个人来说都很好。
$toarray = $this->User->find('all', array(
'fields' => array('User.email_address', 'User.full_name'),
'conditions' => array('User.dept_id' => 1)
)
);
我对如何将LOCATE子句合并到此结构中一点也不清楚,这样我才能获得在add.ctp中分配了系统的用户。
答案 0 :(得分:1)
你有没有尝试过假设的答案?
$toarray = $this->User->find('all', array(
'fields' => array('User.email_address', 'User.full_name'),
'conditions' => array('User.dept_id' => 1, "LOCATE('8', systems)")
));