Selam.
Daha önce sitemde json verileri içerisinde aramayı şu şekilde gerçekletiriyordum:
//{\"beden1677451559\":\"K\\u00fc\\u00e7\\u00fck\",\"baslik1677451593\":\"T\\u00fcrk\\u00e7e\",\"aciklamalar1677452273\":\"<p>t\\u00fcrk\\u00e7e<\\\/p>\",\"renkler1677452294\":[\"Beyaz\",\"Siyah\",\"K\\u0131rm\\u0131z\\u0131\"],\"cinsiyet1677452314\":\"Kad\\u0131n\",\"girissaati1677452328\":\"12:00\",\"giristarihi1677452337\":\"2023\\\/02\\\/27\"}
$listings = Listing::whereListingType(2)->where(function($query) use ($request) {
foreach($request->except(['sehir', 'fiyat_araligi', 'siralama', '_token']) as $key => $value) {
if($request->has($key) && $value != "") {
$query->whereRaw("JSON_EXTRACT(extra_data, '$." . $key . "') = '" . $value . "'");
}
}
});
Spatie/Translatable paketi ile yerelleştirme yaptım. Artık veritabanındaki extra_data süttundaki veri değişti:
"{"tr":"{\"beden1677451559\":\"K\\u00fc\\u00e7\\u00fck\",\"baslik1677451593\":\"T\\u00fcrk\\u00e7e\",\"aciklamalar1677452273\":\"<p>t\\u00fcrk\\u00e7e<\\\/p>\",\"renkler1677452294\":[\"Beyaz\",\"Siyah\",\"K\\u0131rm\\u0131z\\u0131\"],\"cinsiyet1677452314\":\"Kad\\u0131n\",\"girissaati1677452328\":\"12:00\",\"giristarihi1677452337\":\"2023\\\/02\\\/27\"}","en":"{\"beden1677451559\":\"K\\u00fc\\u00e7\\u00fck\",\"baslik1677451593\":\"ingilizce\",\"aciklamalar1677452273\":\"<p>ingilizce<\\\/p>\",\"renkler1677452294\":[\"Beyaz\",\"Siyah\",\"K\\u0131rm\\u0131z\\u0131\"],\"cinsiyet1677452314\":\"Kad\\u0131n\",\"girissaati1677452328\":\"12:00\",\"giristarihi1677452337\":\"2023\\\/02\\\/27\"}"}
```
Artık şu şekilde arama yapıyorum ama hiç bir şekilde verileri getirebilmeyi başaramadım:
```
SELECT * FROM `listings`
WHERE JSON_EXTRACT(JSON_EXTRACT(extra_data, '$.tr'), '$.baslik1677451593') = 'Elma';
```
Verileri bu şekilde nasıl alabilirim?