2014-04-23 31 views
0

Sooo!那麼,標題應該說大部分。 有沒有什麼辦法可以檢查以前是否設置了$this->db-where('stuff', $data)確定CodeIgniter活動記錄是否設置了WHERE子句

我可以出去做一堆測試我自己的代碼(標誌等...),但我想知道是否有人有一些快速和簡單的方法來做到這一點的知識!

提前致謝!

[編輯 - 24-Apr-14] 這是我自己的代碼。我必須變量,可以是nullStringarray。它們是$categories$budget。因此,如果預算設置爲100$並且類別設置爲stuff那麼我需要使用db->or_where,但是如果只設置了其中一個,我只需要使用db->where。在這種情況下,檢查第一個是否設置很簡單,但是如果使用更多的值,該怎麼辦?我希望你明白:)

+0

我想這有點讓人困惑,爲什麼你會需要這個功能。你有沒有理由不知道是否使用了where子句?這可能是一個設計問題,而不是框架功能問題。你能舉一個例子來說明如何使用它? – kevindeleon

+0

你在使用別人的代碼嗎? – SasaT

+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的值。所以你可以使用這個數組來檢查你的結果。

相關問題