0
0

LaravelのEloquentを使ったデータベースからのデータ取得方法の違い

Posted at

データベースからのデータ取得方法の違い

Eloquentを使ったデータベースからのデータ取得をしてViewにて表示させようとした際に

// UserController.php

public function index()
{
    $user = User::where('use_id', 1)->get();
    return view('users.index', compact('user'));
}
//users/index.blade.php

<h1>{{ $user->user_id }}</h1>

エラーメッセージ「プロパティ [user_id] はこのコレクション インスタンスに存在しません。」が表示される。
これは$userがコレクション(配列)であり、単一のオブジェクトではないためで、いままでgetメソッドは取得の際に単一オブジェクトを返すものと思っていた・・・

// UserController.php

public function index()
{
    $user = User::where('use_id', 1)->first();
    return view('users.index', compact('user'));
}

getからfirstメソッドに変更することで単一オブジェクトとして取得。
メソッド使用の際は取得形をよく確認して行うこと。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0