من همچین کدی دارم:
$users = User::with('customerManagements')
->whereHas('customerManagements', function ($q) use ($type, $cmt_status, $from, $to) {
$q->latest('id')
->where('status', "0")
;
})
->where('primary_id', 0)
->whereIn('status', $status)
->whereDate('created_at', '>=', $from)
->whereDate('created_at', '<=', $to)
->get();
که باید customerManagements های هر یوزر رو برگردونه
مشکل اینجاست که شرط ->where('status', "0")
و اونایی که status = 1 هستن رو هم برمیگردونه برای همه کاربرا!!!!
خود کوئری رو نگاه کردم اینطوریه
که تو عکس زده user_id هایی که جز (1و4) هستن!!!! کجای کد من همچین چیزی رو گفته و چجوری درستش کنم؟؟؟
سوال دومم اینه که چجوری میتونم هر یوزر رو به اون function بفرستم؟؟؟
شما رابطه customerManagements رو ایگرلود کردی و سپس داخل whereHas ازش استفاده کردی
این باعث میشه فقط کاربرایی برگردند که این شرط در موردشون صدق میکنه
احتمالا همین نکته باعث میشه اون قسمت (۱و۴) به کوئری اضافه بشه
بعد شما ۲ جا status رو چک کردی..
در ضمن
@ali.bayat سلام مرسی از پاسخ کاملتون
راجب قسمت اول میشه کدشو بگید که درستش چجوریه؟
قسمت دوم: بله 2 تا status دارم هم برای یوزر و هم برای customerManagements
قسمت سوم: میخوام فقط اخرین customerManagements عه هر کاربر رو بررسی کنم که شرط هارو داشته باشه واسه همین latest رو تو whereHas گذاشتم
درباره اون متغیر ها هم ازشون استفاده میشه ولی چون الان مشکل روی status بود پاکشون کردم که تست کنم
اگه بهم بگید که کدو چجوری تغییر بدم که مشکله آوردن همه یوزر ها حل بشه ممنون میشم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟