بهینه کردن تعداد کوئری ها در لاراول

3 سال پیش توسط حسین حسین پور مطرح شد
آفلاین
user-avatar
حسین حسین پور ( 9366 تجربه )
3 سال پیش
تخصص : طراح رابط کاربری، برنامه‌نویس

لینک کوتاه اشتراک گذاری

0

سلام دوستان.
کوئری من در حالت عادی با eloquent به این شکله

$x = PostTag::find($tag_id)->with('movie.post_genre.genre','tv.post_genre.genre')->paginate( 9 );

من یک tag_id دارم نیاز دارم تا با اون همه موارد رو از جدول movies و series و همچنین genres که در جداول جداگانه هستند در بیارم.
الان این با eloquent هفت تا کوئری اجرا میکنه که خیلی سنگینه میخوام دستی با join بهینه کنمش.
کسی میدونه بهینه ترین حالت باید چند تا کوئری بزنم و چطور؟
لینک اسکیما دیتابیس:
https://drive.google.com/file/d/1ZiSyEvKC66-9mDROKgxPny4n5GlrF9RY/view

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

@hhp14111

سلام طراحی دیتابیستون باعث شده این مشکل براتون بوجود بیاد شما باید از رابطه Polymorphic استفاده کنید. من لینک آموزشش رو میذارم . مطالعه کنید اگر به مشکلی برخوردید باز بفرمایید باهم حلش کنیم

https://laravel.com/docs/5.7/eloquent-relationships#polymorphic-relations

نکته : اگر بخواین خیلی بهینه عمل کنید توصیه میکنم از ORM Doctorine استفاده کنید

https://www.laraveldoctrine.org/
برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.