JSON_CONTAINS()
ठीक वही करता है जिसकी आप तलाश कर रहे हैं:
वर्तमान में, Laravel का क्वेरी बिल्डर संबंधित API प्रदान नहीं करता है। एक आंतरिक प्रस्ताव खोलें है हालांकि इसके लिए।
इस बीच, आप एक कच्ची क्वेरी निष्पादित कर सकते हैं:
\DB::table('users')->whereRaw(
'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
)->get();
जो उन सभी उपयोगकर्ताओं को लौटाएगा जिनके meta->colors
. में "लाल" है JSON फ़ील्ड। ध्यान दें कि ->
ऑपरेटर
MySQL 5.7.9+ की आवश्यकता है।
आप whereRaw()
. पर भी कॉल कर सकते हैं सीधे एक सुवक्ता मॉडल पर।
लारावेल 5.6
5.6 रिलीज के अनुसार, लारवेल के क्वेरी बिल्डर में एक नया whereJsonContains
विधि।