DB

【Laravel】FROM句にサブクエリを入れて集計したい

type total subtotal 1 10 0 1 0 20 2 100 0 2 0 200 LaravelでUNION ALLしたこういう結果表を集計したいときは以下のように書く。 DB::table(DB::raw('(' . $subQuery->toSql() .') AS s1')) ->mergeBindings($subQuery) ->selectRaw( 'SUM(s1.total) + SUM…

【PhpStorm】読み取り専用でデータベースに接続する

クリティカルなデータベースにPhpStormから接続する時は、[Data Sources and Drivers] → [Options] にてRead-onlyにチェックを入れることで、読み取り専用状態でデータベースにアクセスすることができる。 その他のJetBrains製IDEでも同様かと思われる。

【Laravel】Eloquentでeagar loadingした結果をごにょごにょしたい

withで指定した要素に無名関数を渡す order by Order::with(['order_detail' => function ($query) { $query->orderByDesc('created_at'); }])->get(); select * from `order_details` where `order_details`.`id` in (1) order by `created_at` desc where …

【Laravel】Eloquentでhavingした結果をpaginateしたい

Laravelでhaving句を使って集計を行うとき、こんな書き方をする。 Model::withCount('xxxx')->having('xxxx_count', '>', 1); ただ、paginateを付けたい場合 Model::withCount('xxxx')->having('xxxx_count', '>', 1)->paginate(20); とやると、エラーが出る…

t2.microからt2.nanoにしたらmysqldが起動しなかったメモ

現象 $ sudo service mysqld start Redirecting to /bin/systemctl start mysqld.service Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. m…

オンプレのLAMP環境をAmazonEC2に移行した話

iine-programming.hatenablog.com 前回からの続き。 1週間かけてやっとEC2へのアプリの移行が終わりました。 結構色々したのでやったことをメモ。 LAMP環境の構築 LINEbotはLAMPで動かしていたので合わせてEC2にミドルウェアをインストール。 Apache $ sudo …

OracleのUNDO表領域でやらかしてしまった話

UNDO表領域をいっぱいにしてしまった! お仕事中にやらかしてしまったので、自戒も込めて書きます。 Oracle DatabaseにはUNDO表領域というものがあります。 UPDATE, DELETEを行った際に復元ができるように、 更新前のデータを一次退避しておくためのテーブル…