Laravel'de "parameterize(): Argument #1 must be of type array, string given" Hatası ve Çözüm Yolları
Laravel

Laravel'de "parameterize(): Argument #1 must be of type array, string given" Hatası ve Çözüm Yolları

Jun 06, 2025
697 görüntülenme
0 yorum

Laravel ya da Lumen projelerinde veritabanı sorgularıyla çalışırken beklenmedik hatalarla karşılaşmak oldukça yaygındır. Bunlardan biri de sıkça rastlanan ve can sıkıcı olan:

Grammar::parameterize(): Argument #1 ($values) must be of type array, string given

Bu hata genellikle yanlış veri tipi kullanımı sonucunda ortaya çıkar. Peki bu hatayı neden alırız, nasıl çözebiliriz?


🧠 Hatanın Anlamı

Laravel’in sorgu derleyicisi (query grammar) bazı fonksiyonlar için dizi (array) tipi bekler. Ancak sen kodda string gönderdiğinde aşağıdaki gibi bir hata fırlatır:

TypeError: parameterize(): Argument #1 must be of type array, string given

Bu hata genellikle whereIn, whereNotIn, select, insert gibi fonksiyonlarda yanlış veri gönderildiğinde karşımıza çıkar.


💥 Örnek Hatalı Kod:

DB::table('kategoriler')->whereIn('id', '5')->get();

Yukarıdaki kodda whereIn metodu bir dizi bekliyor, ama '5' bir string.


✅ Doğru Kullanımı:

DB::table('kategoriler')->whereIn('id', ['5'])->get();

Ya da:

$ids = explode(',', '5,6,7'); // string'i parçala
DB::table('kategoriler')->whereIn('id', $ids)->get();

🧰 Diğer Yaygın Senaryolar

select() ile:

DB::table('urunler')->select('id,name')->get(); // Hatalı
DB::table('urunler')->select(['id', 'name'])->get(); // Doğru

insert() ile:

DB::table('test')->insert('name' => 'Ali'); // Hatalı
DB::table('test')->insert(['name' => 'Ali']); // Doğru

📈 SEO ve Performans İçin İpuçları

  • Her sorgu fonksiyonunun beklediği parametre türünü kontrol et.

  • Veritabanı hataları log'larına düzenli göz at.

  • Gelen verileri is_array() ile kontrol etmeden kullanma.


Laravel ve Lumen gibi modern framework'lerde küçük veri tipi hataları büyük sorunlara yol açabilir. Bu hatayı çözmek için array kullanımı zorunludur. Kodunuzu her zaman test edin ve Laravel'in dökümantasyonunu referans alın.

Yorumlar

Bu makaleye 0 yorum yapıldı

Sohbete katılın!

Düşüncelerinizi ve içgörülerinizi paylaşmak için lütfen giriş yapın

Henüz yorum yok

Düşüncelerinizi paylaşan ilk kişi siz olun!

Bunları da Beğenebilirsiniz

Daha fazla muhteşem içerik keşfedin