首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检索CodeIgniter活动记录中的where子句

检索CodeIgniter活动记录中的where子句
EN

Stack Overflow用户
提问于 2011-06-01 23:55:08
回答 2查看 515关注 0票数 1

有没有办法检索我在查询中添加的"where“子句?我使用foreach语句为当前查询添加我想要在where子句中添加的列,但是,由于该子句可能为空(没有添加列,foreach中的迭代次数为0),因此查询将检索数据库中的所有记录,因为没有进行任何限制。当然,我可以使用布尔变量来知道foreach是否至少进行了一次迭代,但我想知道是否可以检索与我正在进行的查询相关的信息。对我使用的代码进行排序:

代码语言:javascript
运行
复制
foreach($columns as $column => $value){
    if($column!=''){
        $this->db->where($column,$value);
    }
}
$this->db->get('mytable');

一些解释:

如果$column是一个空字符串,我不会将其添加到查询中。

$columns变量是一个对象(stdClass)。

因此,如果查询中没有"where“语句,我就不想用$this->db->get()检索任何信息。我要找的东西是

代码语言:javascript
运行
复制
if( ! empty($this->db->where_clauses()))
    $this->db->get('mytable');

有没有类似的东西?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 00:13:58

不是直接的:这有点像黑客,但你可以这样做:

代码语言:javascript
运行
复制
if( ! empty($this->db->ar_where))

试一试,看看它是否有效。

票数 2
EN

Stack Overflow用户

发布于 2011-06-02 00:02:42

代码语言:javascript
运行
复制
foreach($columns as $column => $value){
    if($column!=''){
        $this->db->where($column,$value);
    }
}

if (count($columns) > 0)
$this->db->get('mytable');
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6204058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档