laravel クエリビルダでSQL取得後、データにアクセスする方法

SQLの結果をgetやfirst等で取得した後に、取得したデータにアクセスする方法です。
生PHPでは配列で取れますが、laravelのクエリビルダを使用するとオブジェクト型で取得されます。
オブジェクト型で取得できる身近なメリットとしてはpaginationメソッドを使用してページネーション処理を簡単に実装できること、updateする時に取得したデータに対して簡単にデータを更新できるとかですかね。
その時にあった実装方法で良いと思いますが、私はブレード側で使用する時はtoArrayで配列型に変換して使用をしています。

目次

クエリビルダで取得したデータにアクセス

$query = User::query();		
$query->where("id", "=", $id);
//そのままオブジェクト型で取得
$result = $query->first();
echo $result->id;
echo $result->name;
echo $result->age;

//->toArray()を使用することで配列型に変換できるためいつも通り取得できる
$result = $query->firstI()->toArray();
echo $result["id"];
echo $result["name"];
echo $result["age"];
  • URLをコピーしました!
目次