2014-09-20 18 views
5

1 öğeden 2 özniteliğin eşit değere sahip olduğu satırları seçen bir sorgu yazmak istiyorum.Laravel'de 2 sütun eşit değer içeren satırları seçin Sorgu oluşturucu

Select * from users u where u.username = u.lastname 

parametre olarak 2 sütun adlarını almak ve eşleşen sonuç herhangi yöntemlerine sahip laravel mı:

Bu ham SQL Bunu yapmanın bir örneğidir?

DB::table('users') 
    ->where('username', '=', DB::raw('lastname')) 
    ->get(); 

DB::raw aslında başka dize değerleri gibi 'lastname' tedavisinde sorgu tercüman değil söylemek ama sadece yılında bunu arasına sokmak için tek şey: İhtiyacınız Ne

cevap

1

laravel 5'te, daha temiz kodu, bunun için nowwhereColumn var:

Users::whereColumn('username', 'lastname')->get(); 
+0

bu değil 5.1LTS örneğin, laravel 5.2 beri kullanılabilir. emin değilim @ceejayoz neden benim düzenleme reddetti. Bu işlevsellik "laravel 5" de mevcut olmadığı için cevap doğru değildir. – rrrafalsz

+0

@rrrafalsz 'whereColumn', Laravel'in tüm desteklenen sürümlerinde. 5.1 desteği Haziran 2017'de sona ermiştir. – ceejayoz

İlgili konular