Надеюсь, это поможет вам:
лучший подход - использовать пользовательский помощник, потому что вам нужно сосчитать все 50 типов зданий
Создайте помощника с именем custom_helper.php
и поместите его в папку helpers
и автоматически загрузите с autoload.php
$autoload['helper'] = array('custom');
custom_helper.php
должно быть так:
function count_building_by_code($building_code)
{
$ci = & get_instance();
/* Omit this line if you autoload model in autoload.php*/
$ci->load->model('Buildings_model');
$count = $ci->Buildings_model->getBldgCount($building_code);
return $count;
}
Код модели:
public function getBldgCount($building_code)
{
if ($building_code)
{
$this->db->where('Building_Code',$building_code);
return $this->db->count_all_results('work_requests');
}
}
Вид:
<?php foreach ($buildings as $bldg){?>
<div class="widget_summary">
<div class="w_left w_25">
<span><?php echo $bldg['Building_Code'];?></span>
</div>
<div class="w_center w_55">
<div class="progress">
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 66%;">
<span class="sr-only">60% Complete</span>
</div>
</div>
</div>
<div class="w_right w_20">
<span><?php echo count_building_by_code($bldg['Building_Code']); ?>
</span>
</div>
<div class="clearfix"></div>
</div>
<?php } ?>
Для более: https://www.codeigniter.com/user_guide/general/helpers.html