はい、今回はLaravelでselect文を使いたいと思います。
実際LaravelではSQLではなくて、Eloquentを使っていきますね。
EloquentとはできるだけSQLを書かないでDBにアクセスできるような仕組みのことを言います。
そのほかにもいろいろ調べたい場合は公式 Laravel8.x クエリビルダより確認してみてくださいね。
Eloquentは、SQLをできるだけ書くことなく、簡潔にデータベースにアクセスできるような仕組みです。
https://tech.windii.jp/backend/laravel/eloquent-model#LaravelEloquent
前回のマイグレーションの章ではテーブルの作成を行いましたが、そこにデータを保存したり、取り出したり、削除したりできます。
それではスタート!
Table of Contents
どんなことがしたいのか?
例えば以下のようなテーブルがあるとき
- userテーブル
id | name | age |
---|---|---|
1 | 田中 | 28 |
2 | 山田 | 30 |
28歳の人の名前だけを取得したいとします。
この場合は、田中さんを取得したいということですね。
そこで、SQLを使うと以下のようになります。
SELECT name FROM user WHERE age = '28';
Code language: JavaScript (javascript)
そしたら、田中が取得できます。
これをEloquentでやりたいわけです!
Eloquentで取得してみる
use App\Models\User;
$user_name = User::where('age', '28')->first(['name']);
echo $user_name
Code language: PHP (php)
これで取得できます!
もし、田中さんのすべての情報が欲しい時は以下になります。
use App\Models\User;
$user_info = User::where('age', '28');
echo $user_info;
Code language: PHP (php)
もし、データ自体は全て取得するけど、出力は特定のカラムだけ!
って時には以下になります。
use App\Models\User;
$user_info = User::where('age', '28');
echo $user_info -> name;
Code language: PHP (php)
これで田中だけ出力されます。
まとめ
カラムの指定もfirst(['カラム名'])
使えばいけるのね~
意外と簡単だ~