Yerine bu yaklaşımı deneyin:
function count_tasks($userId) {
$this->db->select('count(*) as task_count');
$this->db->from('tasks');
$this->db->where('tasksAssignedTo', $userId);
$this->db->where('taskPriority_taskPriorityId !=', 6);
$query = $this->db->get();
foreach ($query->result() as $row) {
echo $row->task_count;
}
}
Size aşağıdaki sorgu (Açıkçası $ userId bir gerçek değeri ile değiştirilecektir) vermeli:
SELECT count(*) as task_count FROM (`tasks`) WHERE `tasksAssignedTo` = $userId AND `taskPriority_taskPriorityId` != 6
Biz açıkça sorgusunun SELECT bölümünü yazmak için CodeIgniter'ın select () fonksiyonunu kullanıyoruz. Sonra biz temelde bir gruptaki tüm kayıtları sayar bir SQL işlevi olan "sayısı (*)" kullanabilirsiniz (CodeIgniter'ın count_all () fonksiyonu yapar aslında ne, ama biz elle yazıyoruz). Select () fonksiyonu "olarak task_count" kısmı sadece bize döndü sorgudan başvurmak için bir şey verir.
Sonra biz sadece FROM ve WHERE kuruyoruz bizim SQL sorgusu parçaları, sırasıyla. Get () işlevi sadece sorguyu çalıştırır ve sonucu verir ve biz $ sorguya sonucu tayin ettik. Biz o zaman "$ row-> task_count" üzerinden satır sayısı erişebilirsiniz.
Umut olur. Herhangi bir sorunuz varsa bana bildirin.