目次
そもそもLaravelではどのようにDB操作しているのかを確認
LaravelでのDB操作は、書いたコードがそのままDBに届くわけではなく、裏側で翻訳されてから届きます。
Eloquentクラスの機能を使う
User::find(1)
「SQL」ではなく「PHPのクラス」でDB操作をコーディング
↓
(裏側)クエリビルダーでSQL文を組み立てる
select * from users where id = 1 (という文字列を作る)
↓
PDO
作られたSQL文を持って、実際にデータベースへ接続・実行する。
PHPに標準装備されている「データベース接続機能」でLaravelはこのPDOを使ってMySQLと通信してますEloquent(エロクエント)とは
Eloquent(エロクエント)クラスとは、 「データベースのテーブルを、PHPのクラス(モデル)として扱うための機能」です。
Laravelでデータベースを操作する際、最もよく使われる便利な仕組み(ORM)です。

storage\logs\laravel.logについて
.env で LOG_CHANNEL=daily にしておくと、管理が楽になります。
# 変更前(デフォルトでconfig/logging.phpの設定が使用される)
LOG_CHANNEL=stack
# 変更後(おすすめ)
LOG_CHANNEL=dailydd()関数
dd() はブラウザまたはAPIレスポンスに直接出力されます
// 一覧取得
public function index(Request $request)
{
$user = $request->user();
$currentUserId = $user?->id;
$query = Post::with('user')
->where(function ($query) use ($currentUserId) {
$query->where('status', 'published');
if ($currentUserId) {
$query->orWhere('user_id', $currentUserId);
}
})
->latest();
// SQLデバッグ(確認後はコメントアウト)
dd($query->toRawSql());
return $query->get();
}
Telescope の導入
composer require laravel/telescope --devTelescope の画面を使えるようにする
php artisan telescope:install実行すると、自動的に
config/telescope.php
マイグレーションファイル などが追加されます。
そのあと続けて マイグレーションを実行
./vendor/bin/sail artisan migratehttp://localhost/telescopeでブラウザで確認できる
https://github.com/idw-coder/laravel-rds/blob/main/README.md#telescope-%E3%81%AE%E5%B0%8E%E5%85%A5

参考記事
Dexall公式テックブログ


Laravel SQL付与を確認する7つの実践的な方法 - 現場で使える完全ガイド
目次 Laravelでの書き込みビルダの基礎知識 書き込みビルダとRaw SQLの違いを理解する Laravelの書き込みログの仕組みを知る SQL書き込みを確認するための7つの方法 toSql(...