2016-04-01 52 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(如實施例$cityname = "London";),它得到執行。

我找不出這個問題。需要幫助。

+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();