سلام join و ریلیشن تا اونجا که من متوجه شدم هردو یکی هستن و سرعت اجرا رو پایین میاره فعلا به ناچار باید از ریلیشن استفاده کرد
@mohasl22
موقع ارتباط با دیتابیس اکثر مواقع بهینه ترین حالت اینه که فقط یک کوئری به دیبی بزنید و تمام چیزی که میخواید رو ازش بگیرید . شما وقتی از ریلیشن یک به چند یا چند به چند لاراول استفاده میکنید ، الوکوئنت میاد توی یک کوئری کل یک تیبل رو میگیره و بعد با توجه به id شما به تیبل دیگه کوئری whereIn میزنه و با استفاده از collection لارول این اطلاعات رو با هم merge میکنه و در نهایت groupeby میکنه ، پس اینجا عملا برای یک رابطه یک به چند سه تا کوئری به دیتابیس زده شد ، درصورتی که اگر میخواستید بدون کمک از الوکوئنت خودتون این کارو انجام بدید میتونستید با یک کوئری جوین و گروپ بای کل اطلاعاتی که میخواید رو بدست بیارید .
نتیجه اینکه اگر سرعت براتون خیلی مهمه یا حجم دیتابیس و ترافیکتون زیاده باید بیخیال orm بشید و خودتون دست به کار بشید.
ریلیشن ها در واقع کوئری های دیگه ای رو پشت صحنه اجرا میکنند.
پس تعداد کوئری ها زیاد میشه
اما Join در واقع ۱ کوئری هست که اطلاعات چند جدول رو میگیره
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟