1. Eloquentを使う方法
Eloquentモデルを使うと、シンプルにデータを取得し、配列として保存できます。
全データを取得し、配列に変換
phpuse App\Models\User;
$users = User::all()->toArray();
📌 ポイント
User::all()で全データを取得toArray()でコレクションを配列に変換
特定の条件でデータを取得
php$users = User::where('status', 'active')->get()->toArray();
📌 ポイント
where('status', 'active')で 条件指定get()で該当するデータを取得toArray()で配列に変換
特定のカラムのみ取得
php$users = User::pluck('name')->toArray();
📌 ポイント
pluck('name')で 単一カラム(name) の値だけ取得toArray()で配列に変換
→['Taro', 'Hanako', 'Jiro']のような 一次元配列 になる
複数のカラムを取得したい場合
php$users = User::select('id', 'name')->get()->toArray();
2. Query Builder を使う方法
もっと軽量にデータを取得したい場合は、DB::table() を使います。
phpuse Illuminate\Support\Facades\DB;
$users = DB::table('users')->get()->toArray();
📌 ポイント
DB::table('users')->get()で すべてのデータ を取得toArray()で配列に変換
特定のカラムを取得
php$users = DB::table('users')->select('id', 'name')->get()->toArray();
特定の条件で取得
php$users = DB::table('users')
->where('status', 'active')
->get()
->toArray();
pluck() を使う(特定のカラムを一次元配列で取得)
php$names = DB::table('users')->pluck('name')->toArray();
📌 結果:
php['Taro', 'Hanako', 'Jiro']
キーを指定する場合
php$users = DB::table('users')->pluck('name', 'id')->toArray();
📌 結果:
php[1 => 'Taro', 2 => 'Hanako', 3 => 'Jiro']
3. map() を使って配列を整形
もし 特定の形式に変換したい場合 は、map() を使います。
php$users = User::all()->map(function ($user) {
return [
'id' => $user->id,
'full_name' => $user->name,
];
})->toArray();
📌 ポイント
map()を使うと、カラム名を変更したり、追加加工が可能
どの方法を使うべき?
✅ Eloquentを使う場合
User::all()->toArray();→ 全件取得User::where('status', 'active')->get()->toArray();→ 条件指定User::pluck('name')->toArray();→ 特定のカラムを取得
✅ Query Builderを使う場合
DB::table('users')->get()->toArray();→ 軽量な取得DB::table('users')->pluck('name')->toArray();→ 特定のカラムのみ取得
Eloquentは便利だけど、Query Builderの方が軽量で高速 なので、
大量データを扱う場合は Query Builder の方がオススメ!

