我准备了一个满足我要求的sql语句,但是我需要转换该sql
  语句进入cakePHP模型查找条件我不知道该如何准备,请帮忙
  我

SQL查询:

select id,text,is_file,order from kmp_contents
where parent_id=1873
order by case
when is_file=1 then text
when is_file=0 then order
end asc;

最佳答案

你可以试试:

$this->KmpContent->find(
    'conditions' => array('KmpContent.parent_id' => 1873),
    'fields' => array('KmpContent.id', 'KmpContent.text', 'KmpContent.is_file', 'KmpContent.order'),
    'order' => array('KmpContent.case ASC', 'WHEN is_file=1 THEN KmpContent.text WHEN is_file=0 THEN KmpContent.order ASC')
);


order键将提供的数组中提供的条件包装在ORDER BY语句周围。

如果这不起作用,则始终可以将Model::query()用于复杂的查询。

09-26 17:39