fuelphpでDBから特定のカラムだけ取ってくる

大量のデータを処理するとき、メモリをちょっとだけ気にしてデータベスからIDリストを取ってくる→それぞれのIDでデータを再度取得し、計算するといったことをよくやります。 fuelphpでもこれをやろう!と思ったのですが、ormを使っているとなかなかうまくいきませんでした。 一応出した自分的結論がこれ

 $ids = Model_Sample::query()->select('id') ->get_query() ->execute() ->as_array(null,'t0_c0'); 

これをやると、

 array ( 0 => '1', 1 => '3', 2 => '2', ) 

こういう形でデータが帰ってきます。 t0_c0はfuelphpが勝手につけるカラムの名前です。 一番最初のカラムにはこの名前が付けられるようなので、書きました。 本当は

 $ids = DB::select()->select('id') ->from('samples') ->execute() ->as_array(null,'id') 

のほうが正しいでしょうが、せっかくormがあるのにfromを直接書くのは負けた気がするので上のを使ってます。

img_show