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