我有这个高级的UPDATE查询:
UPDATE `images` SET `cover` =
CASE WHEN `image_id` = {$is_cover} THEN 1
ELSE 0 END WHERE `album_id` = {$album_id}
如何将其转换为CodeIgniter的Active Record呢?
答案 0 :(得分:1)
请使用此
$this->db
->set('cover', 'CASE WHEN `image_id` = $is_cover THEN 1 ELSE 0 END', FALSE)
->where('album_id', $album_id)
->update('images');
答案 1 :(得分:0)
你可以这样试试
$data = array('cover' => 'CASE WHEN `image_id` = {$is_cover} THEN 1 ELSE 0 END');
$where = array('album_id' => $album_id);
$this->db
->where($where)
->update('images',$data);
答案 2 :(得分:0)
您可以使用CodeIgniter查询它:
$this->db->query("UPDATE images SET cover = CASE WHEN image_id = {$is_cover} THEN 1 ELSE 0 END WHERE album_id = {$album_id}");