簡體   English   中英

Laravel 4無法訪問select :: db的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM