2012-01-22 21 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にはID3の都市があります。私はこのIDだけを取得しています。しかし、私は都市のすべてのidsが1,2,3のようにしたい。

私はCodeigniterフレームワークを使用しています。

ありがとうございます。

+0

私にはvar_dump($ like)を表示してください。それは目的ですか? – Dezigo

+0

@Dezigo var_dump($ like)の出力は上記の通りです。 – fara

答えて

1

$ like - それは配列です。 [0] - 配列の最初の要素です。

echo $like[0]->city_id; 

私はそれをテストしなかった。 (1回の反復で、その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

関連する問題