Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将包含case语句的MySql查询转换为codeigniter活动记录查询_Php_Mysql_Sql_Codeigniter_Activerecord - Fatal编程技术网

Php 将包含case语句的MySql查询转换为codeigniter活动记录查询

Php 将包含case语句的MySql查询转换为codeigniter活动记录查询,php,mysql,sql,codeigniter,activerecord,Php,Mysql,Sql,Codeigniter,Activerecord,我有下面的查询,我想让Codeigniter活动记录更友好,但我不确定如何向查询的集合部分添加case语句 UPDATE attendance_time_index ati JOIN users s ON ati.time_index_user_id = s.user_id JOIN attendance_code_groups acg ON s.user_attendance_code_group = acg.group_id SET ati.time_index_default = CASE

我有下面的查询,我想让Codeigniter活动记录更友好,但我不确定如何向查询的集合部分添加case语句

UPDATE attendance_time_index ati
JOIN users s ON ati.time_index_user_id = s.user_id
JOIN attendance_code_groups acg ON s.user_attendance_code_group = acg.group_id
SET ati.time_index_default = CASE WHEN ati.time_index_value = 'PM' THEN acg.group_pm_default ELSE acg.group_am_default END
WHERE s.user_id = 123
我试过了,但连接似乎不。。。加入

$this->db->join('users s','ati.time_index_user_id = s.user_id');
$this->db->join('attendance_code_groups acg', 's.user_attendance_code_group = acg.group_id');
$this->db->set('ati.time_index_default', 'CASE WHEN ati.time_index_value = 'PM' THEN acg.group_pm_default ELSE acg.group_am_default END', FALSE);
$this->db->where('s.user_id', 123);
$this->db->update('attendance_time_index ati');
有什么想法吗?

试试这个

$this->db->set('ati.time_index_default', "CASE WHEN ati.time_index_value = 'PM' THEN acg.group_pm_default ELSE acg.group_am_default END", FALSE);
$this->db->where('s.user_id', 123);
$this->db->update('attendance_time_index ati
join users s on ati.time_index_user_id = s.user_id
join attendance_code_groups acg  on s.user_attendance_code_group = acg.group_id
');

@Tom使用活动记录您不能将连接函数与更新一起使用在这种情况下,我想我最好使用我仅有的选项!谢谢你的帮助。非常感谢。