LaravelでDBを使う場合、標準搭載であるEloquentを使用することになります。
この際、Where文を使用するとデータが取れないことがあるので、その対処法です。
【Laravel】Eloquentでwhere文を使うとデータが取れない場合の対処法
EloquentでWhere文を使う場合は、他のEloquent記述と同じように以下のように記載します。
use App\Models\モデル名;
$変数名 = モデル名::where(条件);
と言った形で、SQLをかじったことがある場合は、これで行けそうな気がします。
ですが実際には、これはエラー落ちします。
きちんとwhereの条件でデータを抽出したい場合は、もう一手間加える必要があります。
きちんとwhereの条件でデータを抽出したい場合は、もう一手間加える必要があります。
use App\Models\モデル名;
$変数名 = モデル名::where(条件)->get();
Eloquentの場合、取得データについて何か制約を加えた場合は最後にget()を加えます。
このように一手間加えないと、データが取得できません。
このように一手間加えないと、データが取得できません。
このget()に関してはwhere以外でも必要です。
- 並び順を指定するorder by
- 取得件数を指定するtake
など、何か制約をつける場合は、このget()を忘れないようにしましょう。