看板 PHP 關於我們 聯絡資訊
首先如果會使用物件的回傳串連法: 例: $this->db->where('id',$id)->get('user'); 如果你有這種習慣的在使用where_in時請注意。 where_in()、where_not_in() 他們的內部私有成員判斷當參數1和參數2均為無值時。 他回傳只有下return; 而非return $this; 這會導致如果你的第二參數是屬於自動給值的情形下。 萬一無值時就會導致物件無法回傳。 從那之後開始的所有串連寫法都會出錯。 解決方法有三: 1、本來就不使用串連法的不會有這種問題。 2、在給值之前,先自行判斷是否為空值,來避開這個問題。 3、如果你覺得ok,其實你可以考慮去核心把return $this加回去。 第3點我加過測試雖然無誤,但在不擅自改核心的情形下我又還原了他。 然後我是採取第2點的做法來避開無值造成的結果。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.180.97.168
MOONRAKER:贊,原來還有這層 06/16 20:27
j100002ben:不過我自己應該還是會去改核心,因為CI的授權條款我習 06/16 23:45
j100002ben:慣把system和app完全分開,專案Code只包括app這個部份 06/16 23:46
j100002ben:所以改Core對我來說和SVN開Branch差不多..整個資料夾 06/16 23:47
j100002ben:複製換個名字XD 06/16 23:47
j100002ben:這樣也很好管理CI升級的狀況.. 06/16 23:47