2014-08-29 3 views
2

Я получаю данные из базы данных, подобной этой.Печать Количество столбцов (*) в codeigniter

select categories.categorie_name, count(*) 
from names 
join categories on names.categories_id=categories.categories_id 
group by categories.categorie_name 
order by 2 

я получил в результате 2 колонки

categorie_name | count(*) 

как всегда, когда я пытаюсь Acces графа (*) столбец с моей точки зрения, я не могу напечатать то, что в колонке.

<?php foreach ($categories as $categorie) 
     echo $categorie->categorie_name." ".$categorie->count(*)."<br>"; 
?> 

вы можете посоветовать, как это решить?

ответ

3

Попробуйте

select categories.categorie_name, count(*) as cnt 
from names 
join categories on names.categories_id=categories.categories_id 
group by categories.categorie_name 
order by 2 

затем использовать CNT как $categorie->cnt;

1

Использование брекет {} для count(*), то вы можете получить доступ, что от объекта должным образом.

<?php 
    foreach ($categories as $categorie){ 
      echo $categorie->categorie_name." ".$categorie->{'count(*)'}."<br>"; 
    } 
    ?> 

В другой способ просто добавить добавить реф в count(*) как '' cat_count

select categories.categorie_name, count(*) as cat_count 
from names 
join categories on names.categories_id=categories.categories_id 
group by categories.categorie_name 
order by 2 

Теперь доступ с $categorie->cat_count