【SQL】pluckでDBを整形して連想配列にする

2024年1月30日DataBase,Laravel,MySQL,PHP

ミニマリスト_カミ

kamiです。
TwitterYoutubeもやってます。

pluckとは

データベースから取得された結果セットから特定のカラムの値だけを取り出すために使用されるメソッドです。

端的にいうと、指定したカラムの値を抽出して新しい配列を生成します。

データベーステーブルの例です

usersテーブル:
id | name   | email
---------------------
1  | kami1  | pluck-test1@example.com
2  | kami2    | pluck-test2@example.com
3  | kami3  | pluck-test3@example.com

DBから取得

      $user = DB::table('user')
        ->select('id', 'email')
        ->get()
        ->toArray();

DBから取得結果

  +"user": array:3 [▼
    0 => {#1 ▼
      +"id": 1
      +"email": "pluck-test1@example.com"
    }
    1 => {#2 ▼
      +"id": 2
      +"email": "pluck-test2@example.com"
    }
    2 => {#3 ▼
      +"id": 3
      +"email": "pluck-test3@example.com"
    }
  ]

pluckを使ってDBから取得

$user = DB::table('user')
    ->select('id , 'email')
    ->get()
    ->pluck('id', 'email')
    ->toArray();

pluckを使ったDBから取得結果

pluckを使って結果を整形マッピングしてます。

  +"user": array:3 [▼
    1 => "pluck-test1@example.com"
    2 => "pluck-test2@example.com"
    3 => "pluck-test3@example.com"
  ]

スポンサードサーチ

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

Twitterからの連絡だと確実ですよ。

オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。

Web開発で分からない時

オンライン完結型スクール DMM WEBCAMP PRO

アプリ開発で分からない時

プログラミング×稼げる副業スキルはテックキャンプ

プログラミングについて分からない時

【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。
ミニマリスト_カミ

僕への個人でもメンターでも、スクールでもお好きな方を活用ください。

DataBase,Laravel,MySQL,PHPMySQL

Posted by kami