🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ Fariba
نحوه استفاده از eager loading در accessor ها
جامعه لاراول ایجاد شده در ۱۴ شهریور ۱۴۰۱

سلام خسته نباشید

توی accessor چجوری باید از eager loading استفاده کرد ؟

مثلا توی همین صفحه index پروژه ، برای گرفتن نام دسته بندی از accessor استفاده شده.

    public function getCategoryNameAttribute()
    {
        return $this->category?->name;
    }

سلام دوست عزیز

بهتره اونجایی که دیتا رو دریافت کردید بیاید استفاده کنید مثل این حالت

    public function index(Request $request)
	    {
	        $posts = Post::latest()->filters($request->all())->with(['categories', 'tags', 'comments'])->paginate()->withQueryString();
	        return view('dashboard.admin.posts.index', compact('posts'));
	    }

موفق باشید ?

محمد گازری ۱۴ شهریور ۱۴۰۱، ۱۴:۱۶

توی کنترلر که از with استفاده کردم ولی توی مدل که برای گرفتن نام category از accessor استفاده کردم ، هم چنان کوئری‌ها تکرار میشن !


Fariba ۱۴ شهریور ۱۴۰۱، ۱۴:۴۱

شما با توجه به کدی که بالاتر فرستادم در آبجکتتون به دسته بندی دسترسی دارید و شی دسته بندی هم توی شیتون هست و دیگه نیازی به getter ندارید

بهترین پاسخ
محمد گازری ۱۵ شهریور ۱۴۰۱، ۰۳:۰۱