Bad Practice Example
class UserController extends Controller
{
public function index()
{
$users = User::with('posts')->get();
return view('users.index', compact('users'));
}
}
<ul>
@foreach($users as $user) {
<li>{{ $user->name }} / Posts {{ $user->posts->count() }}</li>
@endforeach
</ul>What To Do Instead
class UserController extends Controller
{
public function index()
{
$users = User::withCount('posts')->get();
return view('users.index', compact('users'));
}
}
<ul>
@foreach($users as $user) {
<li>{{} $user->name }} / Posts {{ $user->posts_count }}</li>
@endforeach
</ul>تحميل الكثير من البيانات يؤثر على أداء السيرفر، والموقع، لذلك يجب جلب البيانات التي نستخدمها فقط في الواجهه الأمامية، وإذا كنا نريد فقط عدد سجلات معين فإنه يفضل إستخدام withCount