的sooo!好吧,标题应该说大部分内容。
有没有办法检查先前是否设置了$this->db-where('stuff', $data)
?
我可以出去对我自己的代码进行大量测试(标记等等),但我想知道是否有人知道一些快速简便的方法!
提前致谢!
[编辑 - 4月24日至14日]
这是我自己的代码。我必须变量null
,String
或array
。它们是$categories
和$budget
。因此,如果预算设置为100$
且类别设置为stuff
,那么我将需要使用db->or_where
,但如果只设置其中一个,我只需要使用{{1 }}。在这种情况下,检查是否设置了第一个是非常简单的,但是如果使用更多的值会怎么样?我希望你明白这一点:)
答案 0 :(得分:0)
是的,您可以轻松确定是否设置了where子句。在CodeIgniter中,Active Record类将wheres存储在名为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
的值。因此,您可以使用此数组来检查结果。