繁体   English   中英

确定CodeIgniter活动记录是否设置了WHERE子句

[英]Determine if CodeIgniter active record have set a WHERE-clause

oo! 好吧,标题应该说大部分。 有什么方法可以检查以前是否设置了$this->db-where('stuff', $data)

我可以出去对自己的代码(标志等)进行大量测试,但我想知道是否有人知道一些快速简便的方法!

提前致谢!

[编辑-2014年4月24日]这是我自己的代码。 我必须设置为nullStringarray变量。 它们是$categories$budget 因此,如果将预算设置为100$并且将类别设置为stuff那么我将需要使用db->or_where ,但是如果仅设置其中之一,则只需要使用db->where 在这种情况下,仅检查是否设置了first很简单,但是如果使用更多的值怎么办? 我希望你明白了:)

是的,您可以轻松确定是否设置了where子句。 在CodeIgniter中,Active Record类将ar_where存储在名为ar_where的数组中。 您可以使用此数组来确定是否设置了where子句。

例如,检查以下代码片段:

$this->db->select()
            ->from("foo")
            ->where('bar',NULL);

        $this->db->or_where('xyz',NULL);

        print_r(sizeof($this->db->ar_where));

以下将输出值2 因此,您可以使用此数组检查结果。

暂无
暂无

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

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