2016-03-29 1 views
0

Ich bin ein Anfänger in Laravel. Ich habe ein Problem bei der Verwendung eines PHP-Arrays in einer SQL-Anweisung. Ich habe ein Array $waypoints und es enthält Namen von Städten.Verwenden von PHP-Array in einer SQL-Abfrage in Laravel 5.2

$waypoints = array("Paris", "Moscow", "London","New York");

und ich mag ihre entsprechende Stadt id durch eine SQL-Abfrage zu finden. Der Code ist wie folgt.

$cityname = $waypoints[2]; 

$city = City::where('name', 'LIKE', "$cityname%")->firstOrFail();   

Aber diese Abfrage wird nicht ausgeführt. Aber wenn ich manuell einen String-Wert auf die Variable $cityname setze, wird er ausgeführt. Als Beispiel $cityname = "London";. Ich kann das Problem nicht herausfinden. Hilfe benötigt.

+0

'London' hat den Index' 2', nicht '3'. Wir fangen an, auf '0' zu zählen. Was ist 'print_r ($ waypoints)'? –

+0

@ChristianGollhardt 'London' war nur ein Beispiel. – anuh91

+0

Ich bin nicht mit Laravel vertraut, aber solange $ cityname = "London" funktioniert, ist '$ waypoints [2]' nicht '" London "'. Siehe 'var_dump ($ waypoints)' –

Antwort

1

Sie können immer ->toSql(); verwenden, um die Abfragezeichenfolge zum Debuggen abzurufen.