Laravel 一時テーブル

先方から、この理由でこの画面のデータの取得方法を変えてくれ!という要望が。
クエリだけで取得するのは無理だなーと思い、一時テーブルを使用することに。
初めて一時テーブルを使用したので、自分用の備忘録という意味も込めて書き残します。

テーブル作成・削除

一時テーブル作成
普段のテーブル定義にtemporary()を使用するだけでOK
Schema::create(temp_item', function (Blueprint $table) {
  $table->temporary();
  $table->bigIncrements('tmp_item_id')
    ->comment('一時商品ID');
  $table->string('item_name', 30)
    ->comment('商品名');
  $table->decimal('item_price', 10, 0)
    ->comment('商品価格')
    ->default(0);
}

一時テーブルの削除
Schema::dropIfExists('temp_item');

データ追加・取得

一時テーブルへのデータ追加
Modelがないのでモデルクラスを使用して追加ではなく以下のように使用
DB::table('temp_item')->insert([
  'item_name' => 'itemName1',
  'item_price' => 500,
}

一時テーブルのデータ取得
追加と同様、Modelがないので以下のように使用
DB::table('temp_item')->get()->toArray();