2014-09-20 170 views
0

我有一個函數,它從數據庫中獲取值並返回。當我回應時,該值確實存在。但返回值爲空;函數返回NULL :: laravel

public static function getCountryCode($country) {  
    $country = (int) $country;  
    $x = Country::where('id', $country)->get(); 
    $country_code = '';   
    foreach($x as $row)    
     $country_code = $row->alpha_2; 
    //return 'bd';  
    echo $country_code;   
    return $country_code; 
} 

不知道那裏有什麼問題。這是一個laravel項目。正在調用該方法

public function countryselect() 
{ 
    $country_id = HomeController::detectCountry(); 
    $country_code = SiteController::getCountryCode($country_id); 
    var_dump($country_code); 
    return View::make('Layout.countryselect', compact('country_id', 'country_code')); 
} 
+0

你可以顯示調用這個方法的代碼嗎? – bcmcfc 2014-09-20 07:38:11

+0

'public function countryselect() \t { \t \t $ country_id = HomeController :: detectCountry(); \t \t $ country_code = SiteController :: getCountryCode($ country_id); \t \t var_dump($ country_code); \t \t return View:make('Layout.countryselect',compact('country_id','country_code')); \t}' – 2014-09-20 07:42:27

+0

如果將其添加到問題中,格式化會更容易。有一個待處理的編輯,但需要引入。 – bcmcfc 2014-09-20 07:44:42

回答

1

你不必用「的foreach」功能

功能。你可以用更簡單的方式獲得國家代碼。只需在getCountryCode()中進行一些更改,如

public static function getCountryCode($countryId) { 
    $countryId = (int) $countryId;  
    $country = Country::where('id', $countryId)->get()->first(); 
    return $country->code; 
} 

這將返回指定國家/地區ID的國家/地區代碼。使用變量的描述性名稱,就像你用於函數

+0

thnx讓我知道這個功能 – 2014-09-21 07:47:57

+0

你的問題是用這個解決的嗎? – user4055288 2014-09-21 09:20:03