【fuelphp】クエリビルダでinsert select構文を実行する方法メモ
はじめに
sqlを直接かいちゃえば、以下のような感じで簡単にかけるんですけど今回はこれをfuelphpのクエリビルダで実現してみたのでメモしておきます
insert into table1 (colum1, colum2, ・・・) select colum1, colum2, ・・・ from table2 where ・・・order by id asc limit 0, 10
実装方法
ドキュメントにも書いてあったんですけど、、、
$query = DB::select(
"colum1",
"colum2",
・・・
)->from("table2")
->where("・・・")
->offset(0)
->limit(10)
->order_by("id");
// select文を組み立てる(クエリがそのままかえってきます)
$connection = Database_Connection::instance();
$select = $query->compile($connection);
// insert文を組み立てる
$insert = "insert into table1 (colum1, colum2, ・・・) " . $select;
// insert実行
$query = DB::query($sql);
$result = $query->execute();こんな感じになりました。insert selectも需要ありそうなので、もっと簡単に実行できるメソッドがあるといいなぁと思いました。
以上です