最近FuelPHPを使っていますが、環境値などをFuelのDBクラスで使用する場合、単純に考えて
| 1 | $rslt = DB::query('SHOW TABLES')->execute(); | 
みたいに実行すると、戻り値が
| 1 | int(17) | 
とかで戻ってくる。 DBクラスのなかを見るとDB::SELECTはレコードを返すけどそれ以外は対象件数を戻す実装だった。
 じゃあ、SHOWで結果を取れないのかというと、queryの第二引数でDB::SELECTを与えるとオーバーライドされるようになっていたので
| 1 | $rslt = DB::query('SHOW TABLES', DB::SELECT)->execute(); | 
みたいに実行すると、戻り値が
| 1 | object(Fuel\Core\Database_Result_Cached) | 
になって、
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |     [0]=>     array(1) {       ["Tables_in_sampledatabase"]=>       string(17) "user"     }     [1]=>     array(1) {       ["Tables_in_sampledatabase"]=>       string(10) "item"     }     [2]=>     array(1) {       ["Tables_in_sampledatabase"]=>       string(10) "address"     } | 
みたいになって帰ってきてくれる。
(549)
 
								
