سلام
یه روابط یک به چند داریم:بعد وقتی که کوئری میزنم و دیتا رو میگیرم،بدون هیچ مشکلی دیتا میاد و به روابط هم توی Blade دسترسی دارم.
اما وقتی که این خط کد زیر رو اضافه میکنم روابط رو null برمیگردونه و بهشون دسترسی ندارم و انگار روابط خالی هستن
بنظرتون مشکل از کجاست مننون…
توجه کنید این مشکل دقیقا وقتی پیش میاد که فقط این فیلدهای خاص رو درخواست میکنم
روابط هم به درستی توی مدل ها نوشتم
از with هم استفاده کردم اما بازم نشد و وقتی dd میگیرم null هستش
@endworld
@hekmati
@wozniak
@AlirezaQolamian
@aydin01
@AlirezaQolamian
select(‘id’,’title’)
@mhyeganeh
متاسفانه بازم مشکل حل نشد
ببینید کد به این شکله و نتجیه روابط null هستش
به هر شکلی که میشد امتحان کردم اما فقط وقتی این مشکل پیش میاد که خط سوم رو اضافه میکنم و وقتی که این خط رو پاک میکنم مشکل حل میشه...و خب نمیشه پاکش کرد چون فیلدها زیادن و من فق به این چند تا نیاز دارم...مگر اینکه روش دیگه ای باشه برای گرفتن تعداد محدودی از فیلدها...
$last_ads=Ad::orderBy('id','desc')
->with(['brand','city','province'])
->select(['id','title','created_at','price'])
->take(8)
->get();
وقتی با استفاده از متد with از قابلیت EagerLoading استفاده میکنید لازمه که موقع انتخاب فیلدهای مورد نیازتون یکم دقیق تر عمل کنید و حتما اسم جدول رو هم قبلش اضافه کنید تا لاراول متوجه بشه این فیلد رو از کدوم Model باید فراخونی کنه. در مثال شما با این پیش فرض که اسم جدولتون ads هست میشه اینجوری:
$last_ads=Ad::orderBy('id','desc')
->with(['brand','city','province'])
->select(['ads.id', 'ads.title', 'ads.created_at', 'ads.price'])
->take(8)
->get();
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟