などの疑問や悩みを解決してまいります。
事前準備(スキップ可)
データベースからデータを取得するため、以下の準備を行います。
事前準備
- productsテーブルの用意
- データベース操作のためModelファイルの作成
- データベースの操作内容を記述するためControllerファイルの作成・編集
- 表示するためのbladeファイルの作成・編集
データベースの準備
データを取得するためのproductsテーブルとデータを用意します。
データベースにproductsテーブルの作成、データを登録する方法は以下の記事を参考にしてください。
参考
本記事の解説では、以下のproductsテーブルを使用して解説していきます。
productsテーブルを確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
2 | モンステラ | 大きな切れ目の入った葉が美しい植物で、湿度の高い環境を好みます。 | 2500 | 5 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
3 | サンスベリア | 厚みのある細長い葉が特徴で、空気清浄効果が期待できる植物です。 | 3000 | 2 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
6 | アグラオネマ | 鮮やかな葉色が特徴で、耐陰性もあり室内でも育てやすい植物です。 | 4500 | 8 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
7 | カラテア | 葉に美しい模様があり、観賞用に人気の高い植物です。 | 2200 | 12 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
8 | スパティフィラム | 白い花が咲くことがあり、空気をきれいにしてくれる効果もあります。 | 1600 | 18 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
9 | シュフレラ | 葉が放射状に広がり、明るいグリーンが部屋のアクセントになります。 | 800 | 30 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
10 | ポトス | つる性で、耐陰性が強く室内での育成が容易な植物です。 | 2900 | 0 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
11 | フィロデンドロン | 大きな葉を持ち、湿度が高い環境を好む観葉植物です。 | 3500 | 6 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
12 | ゼラニウム | 可愛らしい花が特徴の植物で、屋内外で育てられます。 | 900 | 9 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
13 | クワズイモ | 丸みのある大きな葉が特徴で、熱帯雨林のような雰囲気を楽しめます。 | 1200 | 25 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
14 | シェフレラ・アルボリコラ | 葉が傘のような形をしており、耐陰性が強い観葉植物です。 | 450 | 35 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
15 | エバーフレッシュ | 細かい葉が特徴で、夜になると葉を閉じる特性があります。 | 3200 | 3 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
16 | アンスリウム | 赤やピンクの鮮やかな花が咲き、長期間花を楽しめる植物です。 | 2700 | 7 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
17 | ポリシャス | 緑の濃い葉と独特の形状が人気の観葉植物です。 | 1100 | 22 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
18 | ゴムの木 | 太い幹と大きな葉が特徴で、耐寒性があり丈夫な植物です。 | 1900 | 14 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
19 | ベゴニア・レックス | 鮮やかな葉の模様が観賞用に人気で、多湿環境を好みます。 | 3600 | 11 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
20 | ペペロミア | 小ぶりで丸い葉が特徴の植物で、乾燥にも強く育てやすいです。 | 1300 | 16 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
Modelの作成
データベース操作を行うためのProductモデルを作成します。
php artisan make:model Product
コマンドを実行したら、Product.phpがapp/Models配下に作成されているか確認してください。
Controllerの作成
次にデータベースからデータを取得するため、Controllerファイルを作成します。
php artisan make:controller ProductController
コマンドを実行したら、ProductController.phpがapp/Http/Controllers配下に作成されているか確認してください。
Controllerの編集
作成したProductController.phpを編集します。
<?php
namespace App\Http\Controllers;
use App\Models\Product; // 追加
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
class ProductController extends Controller
{
public function index()
{
// カラム名を取得
$columns = Schema::getColumnListing('products');
// ここに取得するデータを記述する
$products = [];
// compact()メソッドで$columnsと$productsデータをproductに渡す
return view('product', compact('columns', 'products'));
}
}
まずデータベース操作を行うため、use
文で作成したProduct
モデルをインポートします。
次にindex()
内に、Schema::getColumnListing('products')
を記述し、products
テーブルのカラムを取得しています。
$products
には取得したデータを入れるための変数を準備しています。
view('product', compact('columns', 'products'))
では、compact()
メソッドで$columns
と$products
をProductページに渡しています。
product
ページで受け取ったこの2つの変数を使って、ページ内に表示できるように処理を記述していきます。
bladeファイルの作成
表示するためのページを作成するため、resources/views配下にbladeファイルを作成します。
bladeファイルの編集
作成したproduct.blade.phpは以下のように記述して、受け取った値を表示できるようにします。
スタイルの指定
本記事のbladeファイルは、Tailwind.cssを使用してスタイルを整えた記述になっていますが、スタイルの指定は特にないのでここはお好みで問題ありません。
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
<table class="w-full text-sm text-left rtl:text-right text-gray-500 dark:text-gray-400">
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
@foreach ($columns as $column)
<th scope="col" class="px-6 py-2">{{ $column }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach ($products as $product)
<tr class="odd:bg-white odd:dark:bg-gray-900 even:bg-gray-50 even:dark:bg-gray-800 border-b dark:border-gray-700">
<td class="px-6 py-2">{{ $product->id }}</td>
<td class="px-6 py-2">{{ $product->name }}</td>
<td class="px-6 py-2">{{ $product->description }}</td>
<td class="px-6 py-2">{{ $product->price }}</td>
<td class="px-6 py-2">{{ $product->stock }}</td>
<td class="px-6 py-2">{{ $product->created_at }}</td>
<td class="px-6 py-2">{{ $product->updated_at }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
どちらの変数も配列データのため、foreach
文を使って配列内のデータを1つずつ取り出していきます。
全てのデータを取得
全てのデータを取得する場合、all()
メソッドを使用します。
$products = Product::all();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
2 | モンステラ | 大きな切れ目の入った葉が美しい植物で、湿度の高い環境を好みます。 | 2500 | 5 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
3 | サンスベリア | 厚みのある細長い葉が特徴で、空気清浄効果が期待できる植物です。 | 3000 | 2 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
6 | アグラオネマ | 鮮やかな葉色が特徴で、耐陰性もあり室内でも育てやすい植物です。 | 4500 | 8 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
7 | カラテア | 葉に美しい模様があり、観賞用に人気の高い植物です。 | 2200 | 12 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
8 | スパティフィラム | 白い花が咲くことがあり、空気をきれいにしてくれる効果もあります。 | 1600 | 18 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
9 | シュフレラ | 葉が放射状に広がり、明るいグリーンが部屋のアクセントになります。 | 800 | 30 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
10 | ポトス | つる性で、耐陰性が強く室内での育成が容易な植物です。 | 2900 | 0 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
11 | フィロデンドロン | 大きな葉を持ち、湿度が高い環境を好む観葉植物です。 | 3500 | 6 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
12 | ゼラニウム | 可愛らしい花が特徴の植物で、屋内外で育てられます。 | 900 | 9 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
13 | クワズイモ | 丸みのある大きな葉が特徴で、熱帯雨林のような雰囲気を楽しめます。 | 1200 | 25 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
14 | シェフレラ・アルボリコラ | 葉が傘のような形をしており、耐陰性が強い観葉植物です。 | 450 | 35 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
15 | エバーフレッシュ | 細かい葉が特徴で、夜になると葉を閉じる特性があります。 | 3200 | 3 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
16 | アンスリウム | 赤やピンクの鮮やかな花が咲き、長期間花を楽しめる植物です。 | 2700 | 7 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
17 | ポリシャス | 緑の濃い葉と独特の形状が人気の観葉植物です。 | 1100 | 22 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
18 | ゴムの木 | 太い幹と大きな葉が特徴で、耐寒性があり丈夫な植物です。 | 1900 | 14 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
19 | ベゴニア・レックス | 鮮やかな葉の模様が観賞用に人気で、多湿環境を好みます。 | 3600 | 11 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
20 | ペペロミア | 小ぶりで丸い葉が特徴の植物で、乾燥にも強く育てやすいです。 | 1300 | 16 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
このようにproductsテーブルから、すべてのデータを取得します。
指定した文字列に一致するデータを取得
指定した文字列に一致するデータを取得するには、where()
とlike
演算子を使用します。
$products = Product::where('name', 'like', '%フィカス%')->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
productsテーブルからnameカラムに「フィカス」を含む商品を取得しています。
第1引数に対象となるカラム名を記述し、第2引数にlike
演算子を使用するので「like」と記述します。
第3引数には、絞り込む文字をワイルドカード(%
)を含め入力します。
ワイルドカードとは
ワイルドカードとは、文字列検索やパターンマッチングにおいて、任意の文字や文字列を表す特別な記号や文字のことで、%
はデータベースのSQLやLaravelのEloquentでよく使われるワイルドカードです。
ポイント
'like', '%フィカス%'
: 「フィカス」という文字列が含まれているレコードを検索'like', 'フィカス%'
: 「フィカス」で始まる文字列を検索'like', '%フィカス'
: 「フィカス」で終わる文字列を検索
詳細については以下を参考にしてみてください。
ワイルドカード検索 (%) - SQL Server
特定のカラムを取得
productsテーブルの全カラムではなく、特定のカラムのみを取得したい場合には、select()
を使います。
$products = Product::select('name', 'price')->get();
取得結果を確認する
name | price |
---|---|
パキラ | 1500 |
モンステラ | 2500 |
サンスベリア | 3000 |
フィカス・ベンジャミナ | 1200 |
ドラセナ・マッサンゲアナ | 1800 |
アグラオネマ | 4500 |
カラテア | 2200 |
スパティフィラム | 1600 |
シュフレラ | 800 |
ポトス | 2900 |
フィロデンドロン | 3500 |
ゼラニウム | 900 |
クワズイモ | 1200 |
シェフレラ・アルボリコラ | 450 |
エバーフレッシュ | 3200 |
アンスリウム | 2700 |
ポリシャス | 1100 |
ゴムの木 | 1900 |
ベゴニア・レックス | 3600 |
ペペロミア | 1300 |
nameカラムとpriceカラムの値だけを取得しています。
単一の条件を指定して取得
単一の条件を指定して値を取得する例をご紹介します。
例えば、stockカラムの値が10より多いの商品を取得したい場合は、以下のように記述します。
$products = Product::where('stock', '>', 10)->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
7 | カラテア | 葉に美しい模様があり、観賞用に人気の高い植物です。 | 2200 | 12 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
8 | スパティフィラム | 白い花が咲くことがあり、空気をきれいにしてくれる効果もあります。 | 1600 | 18 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
9 | シュフレラ | 葉が放射状に広がり、明るいグリーンが部屋のアクセントになります。 | 800 | 30 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
13 | クワズイモ | 丸みのある大きな葉が特徴で、熱帯雨林のような雰囲気を楽しめます。 | 1200 | 25 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
14 | シェフレラ・アルボリコラ | 葉が傘のような形をしており、耐陰性が強い観葉植物です。 | 450 | 35 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
17 | ポリシャス | 緑の濃い葉と独特の形状が人気の観葉植物です。 | 1100 | 22 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
18 | ゴムの木 | 太い幹と大きな葉が特徴で、耐寒性があり丈夫な植物です。 | 1900 | 14 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
19 | ベゴニア・レックス | 鮮やかな葉の模様が観賞用に人気で、多湿環境を好みます。 | 3600 | 11 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
20 | ペペロミア | 小ぶりで丸い葉が特徴の植物で、乾燥にも強く育てやすいです。 | 1300 | 16 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
複数の条件を指定して取得
複数の条件を指定したい場合は、where()
を複数連結して指定することができます。
例えば、priceカラムの値が1000以上かつ、stockカラムの値が5以上の商品を取得したい場合は、以下のように記述します。
$products = Product::where('price', '>=', 1000)
->where('stock', '>=', 5)
->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
2 | モンステラ | 大きな切れ目の入った葉が美しい植物で、湿度の高い環境を好みます。 | 2500 | 5 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
6 | アグラオネマ | 鮮やかな葉色が特徴で、耐陰性もあり室内でも育てやすい植物です。 | 4500 | 8 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
7 | カラテア | 葉に美しい模様があり、観賞用に人気の高い植物です。 | 2200 | 12 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
8 | スパティフィラム | 白い花が咲くことがあり、空気をきれいにしてくれる効果もあります。 | 1600 | 18 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
11 | フィロデンドロン | 大きな葉を持ち、湿度が高い環境を好む観葉植物です。 | 3500 | 6 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
13 | クワズイモ | 丸みのある大きな葉が特徴で、熱帯雨林のような雰囲気を楽しめます。 | 1200 | 25 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
16 | アンスリウム | 赤やピンクの鮮やかな花が咲き、長期間花を楽しめる植物です。 | 2700 | 7 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
17 | ポリシャス | 緑の濃い葉と独特の形状が人気の観葉植物です。 | 1100 | 22 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
18 | ゴムの木 | 太い幹と大きな葉が特徴で、耐寒性があり丈夫な植物です。 | 1900 | 14 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
19 | ベゴニア・レックス | 鮮やかな葉の模様が観賞用に人気で、多湿環境を好みます。 | 3600 | 11 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
20 | ペペロミア | 小ぶりで丸い葉が特徴の植物で、乾燥にも強く育てやすいです。 | 1300 | 16 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
順番操作(ソート)
例えばpriceカラムの値が大きい順にソートする場合は、以下のように記述します。
$products = Product::orderBy('price', 'desc')->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
6 | アグラオネマ | 鮮やかな葉色が特徴で、耐陰性もあり室内でも育てやすい植物です。 | 4500 | 8 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
19 | ベゴニア・レックス | 鮮やかな葉の模様が観賞用に人気で、多湿環境を好みます。 | 3600 | 11 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
11 | フィロデンドロン | 大きな葉を持ち、湿度が高い環境を好む観葉植物です。 | 3500 | 6 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
15 | エバーフレッシュ | 細かい葉が特徴で、夜になると葉を閉じる特性があります。 | 3200 | 3 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
3 | サンスベリア | 厚みのある細長い葉が特徴で、空気清浄効果が期待できる植物です。 | 3000 | 2 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
10 | ポトス | つる性で、耐陰性が強く室内での育成が容易な植物です。 | 2900 | 0 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
16 | アンスリウム | 赤やピンクの鮮やかな花が咲き、長期間花を楽しめる植物です。 | 2700 | 7 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
2 | モンステラ | 大きな切れ目の入った葉が美しい植物で、湿度の高い環境を好みます。 | 2500 | 5 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
7 | カラテア | 葉に美しい模様があり、観賞用に人気の高い植物です。 | 2200 | 12 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
18 | ゴムの木 | 太い幹と大きな葉が特徴で、耐寒性があり丈夫な植物です。 | 1900 | 14 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
8 | スパティフィラム | 白い花が咲くことがあり、空気をきれいにしてくれる効果もあります。 | 1600 | 18 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
20 | ペペロミア | 小ぶりで丸い葉が特徴の植物で、乾燥にも強く育てやすいです。 | 1300 | 16 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
13 | クワズイモ | 丸みのある大きな葉が特徴で、熱帯雨林のような雰囲気を楽しめます。 | 1200 | 25 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
17 | ポリシャス | 緑の濃い葉と独特の形状が人気の観葉植物です。 | 1100 | 22 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
12 | ゼラニウム | 可愛らしい花が特徴の植物で、屋内外で育てられます。 | 900 | 9 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
9 | シュフレラ | 葉が放射状に広がり、明るいグリーンが部屋のアクセントになります。 | 800 | 30 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
14 | シェフレラ・アルボリコラ | 葉が傘のような形をしており、耐陰性が強い観葉植物です。 | 450 | 35 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
上位5件を取得
取得するレコードを制限したい場合には、limit()
を使います。
$products = Product::limit(5)->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
2 | モンステラ | 大きな切れ目の入った葉が美しい植物で、湿度の高い環境を好みます。 | 2500 | 5 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
3 | サンスベリア | 厚みのある細長い葉が特徴で、空気清浄効果が期待できる植物です。 | 3000 | 2 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
4 | フィカス・ベンジャミナ | 葉の茂りが良く、明るい場所で元気に育つ観葉植物です。 | 1200 | 20 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
5 | ドラセナ・マッサンゲアナ | 幹の節から細長い葉が生え、育てやすいので初心者にもおすすめです。 | 1800 | 15 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
レコードの一部取得(find
やfirst
)
主キーでの取得
特定のIDの商品を取得したい場合はfind()
を使います。
$products = Product::find(1);
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
最初の1件を取得
条件にマッチした最初のレコードだけを取得する場合にはfirst()
を使います。
$product = Product::where('price', '>', 1000)->first();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
1 | パキラ | 太い幹と大きな葉が特徴の観葉植物で、育てやすくインテリアにも最適です。 | 1500 | 10 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
priceカラムの値が1000よりも大きい値を持つ最初のレコードを取得しています。
複数条件の取得
orWhere
を使って、複数の条件にマッチするデータを取得することができます。
$products = Product::where('stock', '<', 5)
->orWhere('price', '>', 3000)
->get();
取得結果を確認する
id | name | description | price | stock | created_at | updated_at |
---|---|---|---|---|---|---|
3 | サンスベリア | 厚みのある細長い葉が特徴で、空気清浄効果が期待できる植物です。 | 3000 | 2 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
11 | フィロデンドロン | 大きな葉を持ち、湿度が高い環境を好む観葉植物です。 | 3500 | 6 | 2024-09-26 07:31:28 | 2024-09-26 07:31:28 |
このように、stockカラムの値が5未満かつ、priceカラムの値が3000よりも値が大きいレコードを取得しています。
まとめ
LaravelでDBテーブルからデータを取得する複数の方法を紹介しました。
また取得したデータをページに表示する方法についても解説しているので、データベースから取得したデータをページ上に表示させることもできるようになったはずです。
ぜひこの記事を参考に効率的なデータ操作を学び、Laravelの機能を活用していただけると幸いです。