laravel querybuilder wie man like in where Funktion verwendet
Lesezeit: 2 Minuten
Al-Alamin
$book = array(‘book1′,’book2’); Die Nummern der $book-Array-Elemente sind variabel. es kann 2 Elemente oder 20 Elemente haben
Ich muss eine Abfrage wie folgt machen:
select * from book where bookname like %book1% or bookname like %book2%
Um diese Abfrage in Laravel 5 durchzuführen, gibt es eine Option:
Dies entspricht der Antwort von @goldlife, außer dass Ihre eleganter ist.
– Bhargav Nanekalva
1. September 2017 um 13:08 Uhr
Goldleben
Verwenden Sie für eine dynamische Abfrage mit 1 oder n Elementen Ihre Anweisung als Sammlung: Für das “Gefällt mir” können Sie eine Raw-Anweisung verwenden:
$collection = DB::Table('bookinfo')->select('*');
foreach($book as $key => $element) {
if($key == 0) {
$collection->where(DB::raw('bookname like %'.$element.'%'));
}
$collection->orWhere(DB::raw('bookname like %'.$element.'%'));
}
$name = $collection->get();
Diese Lösung funktioniert nur, wenn das $book-Array nur 2 Mitglieder enthält. Ich werde nicht arbeiten, wenn das $book-Array mehr als 2 Mitglieder hat, da “es könnte 2 Elemente oder 20 Elemente haben” erwähnt wird.
– Prem Popatia
25. Mai 2019 um 9:19 Uhr
9978500cookie-checklaravel querybuilder wie man like in where Funktion verwendetyes