Как запросить несколько переменных для отображения в представлении в Codeigniter - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть небольшой код проекта с Codeigniter, я просто застрял в запросе общего количества столбцов для отображения в представлении.Вот несколько фрагментов моего кода, в которых я застрял:

Модель:

function get_dailyprob()
{
    $date = date('d-m-Y');
    $q1 = $this->db->select('client')->like('created_at', $date)->group_by('client')->get('histprob')->result();
    $q2 = $this->db->like('created_at', $date)->count_all_results('histprob'); //HERE I HAVE NO IDEA HOW TO GET A TOTAL COUNT OF EACH ROWS THAT ALREADY GROUPED BY COLUMN client
    return array('dp_client' => $q1, 'dp_count' => $q2);
}

Контроллер:

$data['dailyprobs'] = $this->skejuler_m->get_dailyprob();

Вид:

<table class="table table-hover">
<?php if ($dailyprobs['dp_count'] > 0) {
foreach ($dailyprobs['dp_client'] as $dpc): ?>
<tr>
<td><?php echo $dpc->client; ?></td>
<td><span style="font-size:16px" class="badge bg-red"><?php echo $dailyprobs['dp_count']; ?></span></td>
</tr>
<?php endforeach; ?>
<tr><td><?php } else { echo 'No Issues!'; } ?></td></tr>
</table>
  1. $ dpc-> client приводит к нескольким строкам, и каждая строка имеет различное количество (отфильтровано по запросу в модели)
  2. $ dailyprobs ['dp_count'] в настоящее время показывает все результаты, тогда как мне нужно показатьобщее количество, сгруппированное по клиенту

Current Result

Извините, если объяснение сбило с толку.Я только что добавил изображение View.Как показано на рисунке, в обеих Синармах American Standard / Grohe & App каждый из них имеет общее число 2 = 4, тогда как фактическая общая строка равна 1 каждого столбца (клиента) = 2. Я прошу прощения за мой английский.

1 Ответ

0 голосов
/ 02 февраля 2019

Это просто решается изменением запроса в модели:

function get_dailyprob()
{
    $date = date('d-m-Y');
    $query = $this->db->select('*, COUNT(*) as cnt')->like('created_at', $date)->group_by('client')->get('histprob');
    return $query->result();
}

Затем используйте foreach в представлении, чтобы получить результат подсчета и строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...