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.