[英]Laravel 4 can't access a value of select::db
我在laravel 4中查詢數據庫,但無法訪問返回的值,這里是代碼:
public static function getCityIdByName($cityname){
$cityid = DB::select( DB::raw(" SELECT id FROM cities WHERE match(city_name) against('*" .
$cityname . "*' IN BOOLEAN MODE ) " ));
return $cityid;
}
所以該函數返回此[{"id":1}]
,我需要獲取值“ 1”,我嘗試了$cityid->id
和$cityid['id']
和$cityid[0]
但它們都返回了錯誤,它也不是字符串,當我回顯它時,它抱怨數組不是字符串Array to string conversion
我用以下代碼解決了問題:
return $cityid[0]->id;
感謝@ Sylwit
即使有效,您也可以改善它
如果有多個結果,則只處理數組的第一個,而可能要處理所有結果。
您還可以在查詢中使用->first()
來僅獲取第一個對象,從而避免使用[0]。
一個有趣的鏈接https://laracasts.com/discuss/channels/eloquent/is-this-match-against-using-relevance-possible
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.