繁体   English   中英

代码点火器-运行两个查询冲突

[英]Code igniter - running two queries collide

作为CI中非常大的活动记录查询的一部分,我需要从其他模型中获得一些信息-例如:

$sql = $this->events_model->events_to_sql($val); //returns an sql
$this->db->where($sql, NULL, false);

现在,“ events_to_sql”运行一个不同的查询来获取运行它所需的一些数据,但是它失败了,因为它使用了Active Records之前的“ where”,其中第一个查询未关闭。

$this->db->where("clients.email !=", '');

我该如何告诉CI:这是一个单独的查询。 您只能运行它吗?

*不,我不能先运行另一个查询,因为有多个相同的想法,我不希望每种情况都分开处理,而所有情况都以相同的方式处理。

*我知道我可以使用另一个数据库连接,但是我宁愿使用单个连接。

编辑:

这是运行的:(按顺序)

//main model
$this->db->where("clients.email !=", '');
//Events to sql function
  //run seperate function
   $this->db->from('events');
   return $this->db->get();
return (string)$sql_built_from_the_event_stuff.

而不是:“ SELECT * FROM events”我得到“ SELECT * FROM events WHERE client.email!=”“

使用参数来分隔查询,例如:

$separate = 1;
$sql = $this->events_model->events_to_sql($val,$separate); //returns an sql
$this->db->where($sql, NULL, false);

模型events_to_sql,

public function events_to_sql($val, $queryselector = false){
   .....
   .....
if($queryselector != 1){
   $this->db->where("clients.email !=", '');
}
//Events to sql function
  //run seperate function
   $this->db->from('events');
   return $this->db->get();
return (string)$sql_built_from_the_event_stuff.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM