Merhaba arkadaşlar,
Vue JS ve Laravel ile bir filtreleme sayfam var. Taş sayısına göre filtreleme yapmak istiyorum. 1-2-3-4-5 gibi değerleri doğru bir şekilde filtrelemesine rağmen, 5'ten büyükleri işaretlediğimde boş dönüyor. Hata nereden kaynaklanabilir?
Model içerisinde scope kullanıyorum filtre için. Uzatmamak için sadece ilgili kod bloğunu aktarıyorum:
public function scopeWithFilters($query)
{
//öncesi farklı filtreler, uzatmamak için dahil etmiyorum...
->when(count(request()->input('numbers', [])), function ($query) {
$query->where(function ($query) {
$query->when(in_array(0, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number','=','1');
})
->when(in_array(1, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number','=','2');
})
->when(in_array(2, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number','=','3');
})
->when(in_array(3, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number','=','4');
})
->when(in_array(4, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number','=','5');
})
->when(in_array(5, request()->input('numbers')), function ($query) {
$query->orWhere('stone_number', '>', '5');
});
});
});
}
Hepsi sorunsuz çalışıyor. request()->input('numbers') dan 5 geldiğinde 5'ten büyük değerleri döndürmek yerine null geliyor.
veritabanında stone_number sütunu VARCHAR olarak kayıtlı. Bir etkisi olur mu diyeceğim ama diğerleri çalışıyor?