2016-04-01 7 views
0

私はLaravelの初心者です。私は、SQLクエリ文の中でPHP配列の値を使用する際に問題に直面しました。 私は配列$waypointsを持っていて、それは都市の名前を含んでいます。そしてvar_dump($waypoints)は次のように見えます。Laravel 5.2のSQLクエリ内にPHP配列の値を設定していません。

array (size=4) 
0 => string 'Paris' (length=5) 
1 => string 'Moscow' (length=6) 
2 => string 'London' (length=6) 
3 => string 'New York' (length=8) 

そして私は、SQLクエリを実行することにより、市の対応idを見つけようとしています。コードは次のとおりです。

$cityname = $waypoints[2]; 

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

このクエリは実行されません。

var_dump($city)のようなものです。

string 'select * from 'cities' where 'name' LIKE ? ' (length=42) 

しかし、私は手動で(たとえば$cityname = "London";として)変数$citynameに文字列値を設定した場合、それが実行されます。

私は問題を理解できません。必要なヘルプ。

+1

してみてください。この.. $都市=市::どこ( '名' 、 'LIKE'、$ cityname。 "%") - > toSql(); –

答えて

1

あなたが行う必要があります。この

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

または

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

代わりの

$city = City::where('name', 'LIKE', "$cityname%")->firstOrFail(); 
関連する問題