User::whereHas('availabilities', function ($q) use ($dt) {
$q->where('unavailable_start_date', '<=', $dt)
->where('unavailable_end_date', '>', $dt);
}, '=', 0)->get();
इसलिए हम इसे एक तरह से उलट रहे हैं। हम इस श्रेणी में उपलब्ध उपलब्धता, अनुपलब्धता का पता लगाने के लिए क्वेरी को अंदर सेट कर रहे हैं। इसलिए हम सभी अनुपलब्ध रिकॉर्ड (एक तरह से) के लिए पूछताछ कर रहे हैं। हम तब केवल उन उपयोगकर्ताओं को हथिया रहे हैं जिनके संबंध इस मानदंड से मेल नहीं खाते हैं, अन्य तर्कों का उपयोग करके whoHas ( '=', 0
)।
इसलिए इस समय सीमा में आने वाले इस संबंध वाले किसी भी उपयोगकर्ता को वापस नहीं किया जाता है, चाहे उनके पास कितने भी उपलब्धता रिकॉर्ड हों। यदि उनमें से कोई भी योग्य है तो वे इसे फ़िल्टर के माध्यम से नहीं बना पाएंगे।