有没有办法检索我在查询中添加的“where”子句? 我使用foreach语句在当前查询的where子句中添加我想要添加的列,但由于该子句可能为空(没有添加列,foreach中有0次迭代),查询将检索数据库中的所有记录因为没有限制在哪里。 当然我可以使用布尔变量来知道foreach至少进行了1次迭代,但我想知道是否有可能检索与我正在进行的查询相关的信息。 对我正在使用的代码进行排序:
foreach($columns as $column => $value){
if($column!=''){
$this->db->where($column,$value);
}
}
$this->db->get('mytable');
一些解释:
如果$ column是一个emptry字符串,我不会将它添加到查询中。
$ columns var是一个对象(stdClass)。
因此,如果查询中没有“where”语句,我不想使用$ this-> db-> get()检索任何信息。我正在寻找的是像
if( ! empty($this->db->where_clauses()))
$this->db->get('mytable');
有类似的东西吗?
感谢。
答案 0 :(得分:2)
不直接:它有点像黑客,但你可以这样做:
if( ! empty($this->db->ar_where))
试一试,看看它是否有效。
答案 1 :(得分:-1)
foreach($columns as $column => $value){
if($column!=''){
$this->db->where($column,$value);
}
}
if (count($columns) > 0)
$this->db->get('mytable');