Laravel Eloquent は、データベースと対話するための便利で読みやすいメソッドを提供し、データベース データを簡単に取得できるようにします。いくつかのデータ取得手法を以下に紹介します:
1. すべてのレコードを取得します
all()
メソッドを使用してテーブル内のすべてのレコードを取得します:
use App\Models\Post; $posts = Post::all();
これはコレクションを返します。 foreach
ループまたは他の収集メソッドを使用してデータにアクセスできます:
foreach ($posts as $post) { echo $post->title; }
2. 単一のレコードを取得します
1. find()
メソッド: 主キーに基づいて単一のレコードを取得します。
$post = Post::find(1); if ($post) { echo $post->title; }
2. findOrFail()
メソッド: 主キーに基づいて単一のレコードを取得します。レコードが存在しない場合は、404 例外がスローされます。
$post = Post::findOrFail(1);
3. first()
メソッド: 条件を満たす最初のレコードを取得します。
$post = Post::where('status', 'published')->first();
4. firstOrFail()
メソッド: 条件を満たす最初のレコードを取得します。レコードが存在しない場合は、404 例外がスローされます。
$post = Post::where('status', 'published')->firstOrFail();
3. クエリ条件を使用してレコードをフィルタリングします
where
およびその他の条件ステートメントを使用してデータをフィルターします。
1. where
メソッド:
$posts = Post::where('status', 'published')->get();
2. 複数の条件:
$posts = Post::where('status', 'published') ->where('user_id', 1) ->get();
3. orWhere
メソッド:
$posts = Post::where('status', 'published') ->orWhere('status', 'draft') ->get();
4. 特定のフィールドを選択します
Eloquent はデフォルトですべてのフィールドを取得します。 select()
メソッドを使用して特定のフィールドを選択します:
$posts = Post::select('title', 'content')->get();
5. ページネーション
ページ内のデータを取得するには、paginate()
メソッドを使用します:
$posts = Post::paginate(10);
Blade テンプレートにページネーション リンクを表示します:
{{ $posts->links() }}
6. データチャンク化
大量のデータを処理する場合、メモリ使用量を効果的に削減できます。
Post::chunk(100, function ($posts) { foreach ($posts as $post) { echo $post->title; } });
7. 並び替え結果(並べ替え)
指定された順序で並べ替えるには、orderBy()
メソッドを使用します:
$posts = Post::orderBy('created_at', 'desc')->get();
8. リミットとオフセット
take()
または limit()
と skip()
メソッドを使用して、フェッチされるレコードの数を制限します:
$posts = Post::take(5)->get(); // 获取前 5 条记录 $posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条
9. 集計関数 (集計)
1. カウント:
$count = Post::count();
2. 最大値:
$maxViews = Post::max('views');
3. 最小値:
$minViews = Post::min('views');
4. 平均:
$avgViews = Post::avg('views');
5. 合計:
$totalViews = Post::sum('views');
10. カスタマイズされた関係の取得
Eloquent は、リレーションシップを通じて他のモデルからデータを取得することをサポートしています。
1. 熱心な読み込み:
$posts = Post::with('comments')->get();
2. 関係を指定します:
$posts = Post::with(['comments', 'user'])->get();
11. 生のクエリ
Laravel の DB ファサードを使用してカスタム SQL クエリを実行します:
use App\Models\Post; $posts = Post::all();
これらの方法は、さまざまなデータベース操作のニーズを満たす柔軟なデータ取得方法を提供します。 実際の状況に応じて適切な方法を選択してください。
以上がバングラ語での Laravel Eloquent ORM パーツモデルの取得)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。