先方から、この理由でこの画面のデータの取得方法を変えてくれ!という要望が。
クエリだけで取得するのは無理だなーと思い、一時テーブルを使用することに。
初めて一時テーブルを使用したので、自分用の備忘録という意味も込めて書き残します。
テーブル作成・削除
一時テーブル作成
普段のテーブル定義にtemporary()を使用するだけでOKSchema::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();