Seçeneğini Codeigniter aktif kayıt, sayım, katılmak sol

2 Cevap php

Ben bir veritabanı sorgu sonuçlarını gösteren bir form var, bu sonuçlar onlara ajoined diğer birçok varlık var ve ben her elemement kaç varlık gösteren bir yol bulmak isteyen. Örneğin benim tablo ingiltere alanları olan bir diğer tablo kullanıcıların yaşamak Ben şimdiki bu kod var, nerede

$this->db->select('*');
$this->db->from('places');
$this->db->join('users, places.place_id = user.place_id, left');

$this->db->get();

Ben yer adı ve o yerde yaşayan kullanıcı sayısını döndürmek için sorgu oluyor yaşıyorum sorunu, bu mümkün mü?

2 Cevap

select places.place_id,
       count(*) as UsersAtThisPlace
   from
       places,
       users
   where 
       places.place_id = users.place_id
   group by
       places.place_id

Lütfen PHP ile nasıl uygulanacağı tam olarak bilmiyorum, ama tüm dahilinde yukarıdaki sorgu gibi basit olmalı

$ This-> db-> select ("Yukarıdaki tüm dize örneği");

Eğer yerleri tablodan diğer tanımlayıcı unsurları vardı, ayrıca, (sadece netlik için) de sayımdan önce bu ekleyebilirsiniz, ancak aynı zamanda da ... gibi grup onları dahil etmek gerekir

select places.place_id,
       places.description,
       places.otherfield,
       count(*) as UsersAtThisPlace
   from
       places,
       users
   where 
       places.place_id = users.place_id
   group by
       places.place_id,
       places.description,
       places.otherfield

Tam db kurulum biliyorum, ama gibi bir şey mi CodeIgniter'ın Active Record kullanarak bu sorguyu nasıl yapacağını değil

 $this->db->select('places.place_id');
 $this->db->select_sum('places.place_id', 'total');
 $this->db->from('places');
 $this->db->join('users', 'places.place_id = user.place_id', 'left');
 $this->db->group_by('user.place_id');
 $this->db->get();