users
テーブルに250人のユーザーがいて、各ユーザーに1つ以上の書籍があり、各書籍に1つまたは複数の章があるとします。今では、ユーザー名と書籍名を印刷したいと思います。Laravel Eloquent:クエリ数を減らす
コントローラー:ブレードで
$users = User::all();
:
今@foreach($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>
@foreach($user->books as $book)
{{ $book->name }},
@endforeach
</td>
</tr>
@endforeach
# of queries 252
N + 1問題を克服するために、クエリが今すぐクエリの#だけです
$users = User::with('books')->get();
する必要があります2.
I this-> BookName(章の数)のような章数で本の名前を印刷したい。だから私の刃の中で
このように、1500章の750冊については、章数が増えると照会数は約752と増えます。
これを減らすための優れた方法はありますか?生のSQLクエリを使用する必要がありますか?
'with'はネストされた関係をサポートします。あなたは 'with( 'books.chapters')' – maiorano84
wow ..を使うことができるはずです。ありがとう..それは動作します..あなたは読むためにどんなドキュメンテーションも提供できますか? –
これを回答として追加できます。私はそれを受け入れる –