0
私は2つのテーブル 'city'と 'info'を持っています。市はjoin query and group_by
city_id name
1 c1
2 c2
のように見え、情報は情報テーブルCity_city_idとstatus_status_idで
id city_city_id status_status_id
1 1 1
2 2 1
3 1 2
のように見えますFKSです。特定のステータスにある都市の数を数えるクエリを実行したいと思います。私は2つのテーブルに参加していて、 'city'テーブルの各行に対してクエリを実行しましたが、常に答えは00です。つまり、特定のステータスの下で都市の数がゼロであることを示しています。
モデルは以下与えるです:
function count(){
$this->db->select('*');
$this->db->from('city');
$this->db->join('info','info.city_city_id= city.city_id');
$this->db->group_by('city_city_id');
$sql=$this->db->get();
if ($sql->num_rows()>0){
foreach ($sql->result() as $row){ //loops through all the cities in city table
$r=1;
$this->db->where('city_city_id','city.city_id');
$this->db->where('status_status_id', $r);
echo $this->db->count_all_results('info');
}
を私は私の参加しGROUP_BYに何か問題があると思いますが、私は、障害を見つけることができません。 ありがとうございます。
:次に
を、あなたはこのようなものを使用することができます私のコードの私はこれを置き換える必要があります..ありがとう – user1052462
@ user1052462私は 'count()'関数のコードで私の答えを編集しました。私はcodeigniterを知らないし、私がここで提供したのはドキュメンテーションを参照することである。だから、いくつかの構文エラーがあるかもしれませんが、それはとにかく私のロジックを示しています。 – Jomoos