2016-05-24 2 views
4

Ich möchte Laravel (gültig SQLite-Abfrage) so etwas tun:Eloquent: Abfrage der Länge des Feldes in Laravel

select * from 'tbUsers' where length(name)>50; 

versuchte ich

User::with('Permissons')->where('LENGTH(name)','>','50')->get(); 

Aber es scheint nicht zu funktionieren. ..

note: andere Abfragen funktioniert problemlos:

User::with('Permissons')->where('active,'=','1')->get(); 
+0

Wenn man nicht unbedingt wollen Eloquent bleiben, können Sie "Raw-Abfragen" verwenden https://laravel.com /docs/5.2/database#running-abfragen – RW24

Antwort

9

Versuchen Sie, diese whereRaw(string $sql, array $bindings = array(), string $boolean = 'and')

User::with('Permissons')->whereRaw('LENGTH(name) > 50')->get(); 
3

Verwendung whereRaw:

User::with('Permissons')->whereRaw('LENGTH(name) > ?', [50])->get(); 
+1

Ich verstehe den Grund nicht, aber Ihre Lösung funktioniert nicht für mich. Ich benutze die Lösung von @vijaykumar. – JLM

+1

Ich denke, dass dieser mit gebundenen Variablen richtiger ist. – iateadonut

Verwandte Themen