取り急ぎのメモ
SQLを確認
Laravelで作ったSQLをパラメータ付きで確認したいとき
preg_replace_array('/\?/', array_map(fn($param) => "'" . $param . "'", $query->getBindings()), $query->toSql());
dd()と組み合わせた場合
dd(preg_replace_array('/\?/', array_map(fn($param) => "'" . $param . "'", $query->getBindings()), $query->toSql()));
tinker
# トランザクション
## トランザクション開始
DB::beginTransaction();
## ロールバック
DB::rollBack();
## トランザクションをコミット
DB::commit();
# クエリログ
## クエリログ有効
DB::enableQueryLog();
## クエリログ取得
DB::getQueryLog();
Laravelのログファイルから期間を絞って特定の文字を調べたいとき
grepしてからawkバージョン
grep 'ERROR' laravel-root-2025-03-12.log | awk '$1 == "[2025-02-06" && $2 >= "12:35:00]" && $2 <= "12:45:00]" { print }'
awkだけバージョン
awk '$1 == "[2025-02-06" && $2 >= "12:35:00]" && $2 <= "12:39:00]" && $3 ~ /ERROR/ { print }' laravel-root-2025-03-12.log
番外
git履歴ツリー表示
git log --graph --pretty=format:'%x09%C(auto) %h %Cgreen %ar %Creset%x09by"%C(cyan ul)%an%Creset" %x09%C(auto)%s %d'
git log差分
git log --no-merges origin/main..origin/develop
main..developはlogのフィルター記法。
このように書くと後者のブランチ(この例では origin/develop)には含まれるが
前者のブランチ(この例では origin/main)には含まれないコミットのログだけ表示する。
https://git-scm.com/book/ja/v2
変更があったファイル名のみ表示
ブランチ比較の例
git diff main..hotfix/1021 --name-only
コミット間は
コミットハッシュ..コミットハッシュにする
複数の連続したコミットをcherry-pickしたいとき
git cherry-pick {始点となるコミットの1つ前のコミットハッシュ}..{終点となるコミットハッシュ}