2012-01-22 161 views
1

我有3個表格城市,信息和狀態。在我的代碼中,我展示了不同狀態下的不同引用。我想要做的是獲得城市的單獨ID,以便我可以在我的'信息'表中運行一些查詢。下面從數據庫表中獲取ID

我的模型給出:

function get_status(){ 
$states = $this->db->get('state'); 
$like = array(); 
$status = array(); 
foreach ($states->result() as $state){ 
$cities = $this->db->get_where('city', array('state_id'=> $state->id)); 
$like=$cities->result(); 
$status=$like[0]->city_id; 

    } 

    echo $status; 
    } 

但是當我運行的代碼,我只得到了最後的狀態下存儲在表中的最後一個城市的最後一個ID。例如,州3有城市,其ID爲3.我只得到這個ID。但我想要所有城市的ID - 1,2,3。

我使用Codeigniter框架。

在此先感謝

+0

請給我一個var_dump($ like);它是對象嗎? – Dezigo

+0

@Dezigo上面給出了var_dump($ like)的輸出。 – fara

回答

1

$ like - 它是一個數組。 [0] - 數組的第一個元素。

echo $like[0]->city_id; 

我沒有測試過它。 (在一個迭代 - >它需要從該ID的所有城市)

function get_status(){ 
     $states = $this->db->get('state'); 
     $like = array(); 
     $status = array(); 

    foreach ($states->result() as $state){ 
     $cities = $this->db->get_where('city', array('state_id'=> $state->id)); 
      foreach ($cities->result() as &$v){ 
       echo $v->city_id."<br/>"; 
      } 
      echo "......<br/>"; 
     } 
} 
+0

它的作品,但問題是,它只顯示最後一個城市的ID。但我想要所有城市的ID。你能告訴爲什麼它只顯示最後一個ID嗎?上面給出了修改。 – fara

+0

我的回覆已更新。:) – Dezigo