-1

Ich benutze Laravel 5.3 und versuchen, eine Abfrage mit mehreren wo und wo Funktion zu erstellen. Hier ist mein Code:Holen Sie sich alle Elemente aus dem Array mit WhereIn in Laravel 5.3

$posts_id = "1,3,4"; //from my query 
$results = Post::select('*'); 
$results->whereIn('posts_id', [$posts_id]); 
$resutls->get(); 

Es gibt 1 Beitrag, der eine ID von 4 in meiner Datenbank, aber meine Frage nichts zurück. Obwohl es 4 in meinen Post-IDs $posts_id = "1,3,4"; gibt.

Brauchen Sie Hilfe, um Beiträge von jeder der ID zu bekommen, die ich in meiner $posts_id Variable enthalten habe.

Vielen Dank im Voraus!

Antwort

1

Sie benötigen ein Array, wobei() Methode übergeben:

$results = Post::whereIn('posts_id', explode(',' $posts_id))->get(); 

Beachten Sie, dass Sie nicht brauchen, jede Methode in einer separaten Zeile zu nennen. Sie können sie verketten. Auch die Auswahl ('*') ist nicht erforderlich.

Sie können Ihr Array auf beliebige Weise erstellen, ohne explode() verwenden zu müssen.

Es kann gut sein zu überprüfen, ob das Array nicht leer ist, bevor Sie diese Abfrage durchführen.

Verwandte Themen