🌀

Laravel PHP artisan tinker を使ってDBからデータ取得の検証

2025/01/22に公開

LaravelでDBから値を取得したい時、どうやって値を引っ張ってこれるかをtinkerで検証できる。
ビューで値を出力したい時などに便利。

tinkerを起動

php artisan tinker
./vendor/bin/sail artisan tinker (sailを使っている場合)

たとえばこんな感じにテーブルが結合されているとき

  • Customerテーブル
    • user_id ->userAddressテーブルへ結合
    • name
    • gender
  • userAddressテーブル
    • user_id
    • municipality_id ->Municipalityテーブルへ結合
    • address
  • Municipalityテーブル
    • municipality_id
    • municipality_name
    • prefecture_id

テーブル検索

$user = Customer::find(1)
$変数名:なんでもいい
Customer:検索したいテーブルのModelの名前
find(1):検索条件
$userにCustomerから検索したレコードが出力・格納される

$user->name
検索したレコードの名前が出力される

結合しているテーブルへアクセス

$user->userAddress
userAddress:結合先テーブルのModelの名前
結合するレコードが出力される

$user->userAddress->Municipality
userAddressからさらに結合しているMunicipalityテーブルへアクセス
Municipality:結合先テーブルのModelの名前
結合するレコードが出力される

$user->userAddress->Municipality->municipality_id
Municipalityテーブルのカラムmunicipality_idの値が出力される

Enumの出力

$user->gender->text()
該当レコードの性別テキストが出力される
例:女性

$user->gender->value
該当レコードの性別(value)が出力される
例:female

tinkerを終了

exit

Discussion