cakephp查询中的用例
如何以cakephp格式编写以下sql查询cakephp查询中的用例,cakephp,Cakephp,如何以cakephp格式编写以下sql查询 SELECT `ActivityLog`.`id`, CASE User.user_type WHEN 'admin' THEN concat_ws(' ',Admin.first_name,Admin.last_name) END, FROM `project`.`activity_logs` AS `ActivityLog` left join users as User on ActivityLog.user_id = User.id l
SELECT
`ActivityLog`.`id`,
CASE User.user_type
WHEN 'admin' THEN concat_ws(' ',Admin.first_name,Admin.last_name)
END,
FROM `project`.`activity_logs` AS `ActivityLog`
left join users as User on ActivityLog.user_id = User.id
left join admins as Admin on User.id = Admin.user_id
WHERE 1 = 1 ORDER BY `ActivityLog`.`datetime` desc
除了
case
语句之外,一切都很好,请帮助我。您可以在cakePHP中使用case,例如
$this->YourModel->find('all', array(
'fields' => array(
'ActivityLog.id',
'((CASE User.user_type WHEN 'admin' THEN concat_ws(' ',Admin.first_name,Admin.last_name)
END)) AS
some_alias_name'
)
....rest of your query
请尝试此查询
$this->ActivityLog->find('all', array(
'fields' => array(
'ActivityLog.id',
'((CASE User.user_type WHEN 'admin' THEN concat_ws(' ',Admin.first_name,Admin.last_name) END)) AS UserName'
),
'joins' => array(
'LEFT JOIN users as User ON ActivityLog.user_id = User.id'
'LEFT JOIN admins as Admin on User.id = Admin.user_id'
),
'recursive' => -1
);