[英]Determine if CodeIgniter active record have set a WHERE-clause
oo! 好吧,标题应该说大部分。 有什么方法可以检查以前是否设置了$this->db-where('stuff', $data)
?
我可以出去对自己的代码(标志等)进行大量测试,但我想知道是否有人知道一些快速简便的方法!
提前致谢!
[编辑-2014年4月24日]这是我自己的代码。 我必须设置为null
, String
或array
变量。 它们是$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.