2012-01-22 50 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