Попробуйте этот подход вместо:
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;
}
}
, который должен дать вам следующий запрос (очевидно $ USERID будет заменен реальным значением):
SELECT count(*) as task_count FROM (`tasks`) WHERE `tasksAssignedTo` = $userId AND `taskPriority_taskPriorityId` != 6
Мы используем CodeIgniter выберем (), чтобы явно записать часть SELECT запроса. Затем мы можем использовать «count (*)», который является функцией SQL, которая в основном учитывает все записи в группе (по сути, что делает функция count_all() CodeIgniter, но мы пишем ее вручную). Часть «как task_count» функции select() просто дает нам ссылку на возвращаемый запрос.
Затем мы просто устанавливаем части FROM и WHERE нашего SQL-запроса, соответственно. Функция get() просто запускает запрос и возвращает результат, и мы присвоили результат запросу $ query. Затем мы можем получить доступ к счету строк через «$ row-> task_count».
Надеюсь, что это поможет. Дайте знать, если у вас появятся вопросы.