Подсчет итогов строк с помощью активной записи Codeigniter - PullRequest
2 голосов
/ 07 октября 2011

Я храню значения (int) для количеств в моей базе данных. Мне нужно подсчитать общее количество, сложив все итоги по строкам вместе. Проблема с $ this-> db-> count_all_results () состоит в том, что он возвращает общее количество строк, но не считает все сохраненные значения. Любая помощь будет высоко ценится.

function currentDealTotalQuantity($id)
{

    $this->db->select('quantity');

    $this->db->from('table');

    $this->db->where('id', $id);

    $total_sold = $this->db->count_all_results();

    if ($total_sold > 0)
    {
        return $total_sold;
    }

    return NULL;

}

Ответы [ 3 ]

3 голосов
/ 07 октября 2011
function currentDealTotalQuantity($id)
{

    $this->db->select_sum('quantity');

    $this->db->from('table');

    $this->db->where('id', $id);

    $query = $this->db->get();

    $total_sold = $query->row()->quantity;

    if ($total_sold > 0)
    {
        return $total_sold;
    }

    return NULL;

}
3 голосов
/ 07 октября 2011

Полагаю, вам нужен этот парень: $this->db->select_sum();

Вы заменяете его оператором выбора на него, так что у вас есть $this->db->select_sum('quantity');, который выдаст строку запроса SELECT SUM(quantity) as quantity

документация найдена здесь .

2 голосов
/ 07 октября 2011
function currentDealTotalQuantity($id)
{
    $qry = $this->db->select_sum('quantity')
    ->from('table')
    ->where('id', $id)
    ->get();

    if ($qry->num_rows() === 0)
    {
      return FALSE;
    }

    return $qry->row('quantity');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...