Laravel, JSON sütunları üzerinde etkili sorgular yapmanızı sağlayan bir dizi fonksiyona sahiptir. where, whereJsonContains ve whereJsonLength fonksiyonları, JSON sütunları üzerinde etkili ve esnek sorgular yapmanıza olanak tanır.
JSON sütunu içinde bir nesne varsa, bu nesnenin belirli bir özelliğini sorgulamak için where kullanabilirsiniz.
$users = DB::table('users')
->where('preferences->dining->meal', 'salad')
->get();Bu örnek, preferences adlı JSON sütunu içindeki dining özelliğinin altındaki meal özelliğinde ’salad' sonucuna eşit olan kullanıcıları geri döndürecektir.
whereJsonContains, JSON sütunları içinde belirli bir değeri aramak için kullanılır. Bu, özellikle JSON tipindeki sütunlarda dizi veya nesne içindeki bir değeri kontrol etmek için kullanışlıdır. where kullanımı ile aynı sonuçları elde edebiliriz.
$users = DB::table('users')
->whereJsonContains('options->languages', 'en')
->get();Yukarıdaki örnekte, options adlı JSON sütunu içindeki languages özelliğinde 'en' değerini içeren kullanıcıları geri döndürecektir.
whereJsonLength, JSON sütunlarının uzunluğunu kontrol etmek için kullanılır.
$users = DB::table('users')
->whereJsonLength('options->languages', '>', 1)
->get();Yukarıdaki örnekte, options adlı JSON sütunu içindeki languages uzunluğu 1 den büyük olan kullanıcıları geri döndürecektir.
Yorum yapabilmek için giriş yapmanız gerekmektedir.