2011-06-04 55 views
7

现在我正在使用活动记录来访问数据库。但是,额外的功能需要我使用标准的SQL查询。是否有可能在同一个查询中同时使用活动记录和标准sql查询?例如:使用Codeigniter中的标准SQL查询混合活动记录

$this->db->select(...) 
     ->from(...) 
     -> ..... 
     ->query(WHERE CASE ..........); 

在标准SQL查询中,我想在CASE中使用WHERE子句。这可能没有重写标准SQL中的整个查询?活动记录查询非常复杂

回答

3

据我所知,无法将标准SQL和活动记录结合起来,就像您正在尝试的那样。

但是,如果需要,可以手动编写WHERE字符串,然后将其提交给ActiveRecord类。我不完全确定这是你寻找的,因为我从来没有使用CASE,但它听起来像它可能是你要找的?让我知道!

$where = "name='Joe' AND status='boss' OR status='active'"; 

$this->db->where($where);