最近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" } |
みたいになって帰ってきてくれる。
(543)