脱初心者備忘録

Laravelのデータベース取得時の戻り値まとめ。

すぐ忘れるので備忘録。

find()の戻り値

Model::find(id) の戻り値。
Modelのオブジェクトが返る。無いときはnull。
なのでNULL判定は必須。isset・empty・is_nullで判定推奨。
面倒なら、FindOrFailで取得すべし。

$user = User::find(1);

if(isset($user)) {
  $user_name = $user->name;
}

first()の戻り値

Model::latest()->first() の戻り値。
Modelのオブジェクトが返る。無いときはnull。
なのでNULL判定は必須。isset・empty・is_nullで判定推奨。

$user = User::latest()->first();

if(is_null($user)) {
  $user_name = '名無しさん';
} else {
  $user_name = $user->name;
}

get()の戻り値

Model::latest()->get() の戻り値。
Collection型(配列みたいなもん)が返る。配列の中身の数で判定。

$users = User::latest()->get();

$user_name = [];
if(count($users) > 0) {
  foreach($users as $user) {
     $user_name[] = $user->name;
  }
}

all()の戻り値

Model::all() の戻り値。
Collection型(配列みたいなもん)が返る。配列の中身があるか空かで判定。
モデルのデータ全部取得したいときくらいしか使わないかな。
セレクトボックスに入れるデータに使うことが多いかも。