我有兩個變量,$take
(限制)和$skip
(偏移量),它們是mysql中限制子句的值。CodeIgniter活動記錄偏移量沒有限制?
現在代碼點火器它是限制條款倒退。
E.g.
$this->db->limit(5,10)
將在MYSQL中產品LIMIT 10, 5
。
無論如何,我很難弄清楚如何根據設置的兩個值中的哪一個來調用limit
函數。
基本上,
如果它們都設置我想打電話給
$this->db->limit($take, $skip)
如果只有$take
設爲我想打電話給
$this->db->limit($take)
但我什麼如果只撥打$skip is set, e.g. if
$ skip = 10`,那麼我想顯示所有行,除第一個10
我稱
$this->db->limit(null, $skip)
或
$this->db->limit(0, $skip)
或
$this->db->limit(false, $skip)
或
完全不同的東西?
是啊,這是正確的,我通過源代碼看起來:)但是,你的答案的作品,如果你只想使用記錄功能。 – Hailwood
哈哈。使用文檔化功能是從2000年開始的);)。我小子。嚴肅地說,也許在下一個CI版本中,他們刪除了訪問這個未公開的功能。總是存在這樣的風險 –
是的,同樣,原來偏移量函數是沒用的:/偏移量函數設置了這個值,但是,除非實際上有一個限制,否則偏移量不會被應用。考慮提交補丁......因此,你的答案會得到Tick,但我可能會用'PHP_INT_MAX'代替'18446744073709551615',因爲我嚴格地說,它消除了「這個數字意味着什麼?!?」的含糊性。對於未來的開發者來說,這暗示着,我們不在乎數字是什麼,我們只是想要一個大數字! – Hailwood