デバッグログをとる

Laravelでは開発補助としてデバッグログをとる機能があります。

デバッグしたいファイルに以下を記述します。例えばモデルファイルでデータがちゃんと取得されているかを確認することを例として説明します。

まずモデルファイルを作ります。

$ cd /aho
$ php artisan make:model Livers
$ cd ./app/Models
$ vi Livers.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Livers extends Model
{
  use HasFactory;
  protected $table = "T_LIVERS"; //-- テーブルはT_LIVERSに紐づける
}

次にコントローラーファイルを作成します。

$ cd /aho
$ php artisan make:controller LiverController
$ cd ./app/Http/Controllers
$ vi LiverController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Log; //-- ログをとるとき、これを入れておく
use Illuminate\Http\Request;
use App\Models\Livers;

class LiverController extends Controller
{
  public function index()
  {
    $items = \DB::table('T_LIVERS')->get(); //-- T_LIVERSテーブルから全データ引っ張る
    Log::debug($items); //-- 上記内容をログに出力
    return view('liver.index');
  }
}

ログは以下のようにして確認できます。

$ cd /aho
$ cd ./storage/logs
$ vi laravel.log
[2023-05-17 01:19:17] local.DEBUG: [{"ID":1,"RoomNumber":"111","Name":"aho","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":2,"RoomNumber":"222","Name":"aho2","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":3,"RoomNumber":"333","Name":"aho3","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":4,"RoomNumber":"444","Name":"aho4","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":5,"RoomNumber":"555","Name":"aho5","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":6,"RoomNumber":"666","Name":"aho6","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":7,"RoomNumber":"777","Name":"aho7","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":8,"RoomNumber":"888","Name":"aho8","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"},{"ID":9,"RoomNumber":"999","Name":"aho9","Uneatable":"1","RiceType":"1","RiceQuantity":"1","Comment":"ahotare"}]