I am currently echoing the results of a count query in my article index.ctp . Now I want to echo the same query from the categories table on the same article index.ctp so they appear on the same page. Any suggestions on how to do this?
article controller:
public $uses = array('Articles', 'Categories');
public function index()
{
$this->paginate = [
'contain'=>['Categories']
];
$articles = $this->paginate($this->Articles);
$this->set('articles', $this->Articles->find('all'));
$this->set(compact('articles'));
$this->set('_serialize', ['articles']);
$article_count = $this->Articles->find('all')->count();
$this->set('article_count',$article_count );
$author_count = $this->Articles->find('all')
->distinct(['Articles.user_id'])
->count('user_id');
$this->set('author_count',$author_count );
$category_count = $this->Categories->find('all')->count();
$this->set('category_count',$category_count );
}
article index.ctp:
<div class="col-xs-12 col-md-6 col-lg-3 widget">
<div class="panel panel-red panel-widget">
<div class="row no-padding">
<div class="col-sm-3 col-lg-5 widget-left">
<svg class="glyph stroked app-window-with-content"><use xlink:href="#stroked-app-window-with-content"></use></svg>
</div>
<div class="col-sm-9 col-lg-7 widget-right">
<div class="large"><?php echo $category_count; ?></div>
<div class="text-muted">Categories</div>
</div>
</div>
</div>
</div>
Any help would be greatly appreciated.
Thanks
Turns out the loadModel function allows you to do this
$this->loadModel('Categories');
$categoryCount = $this->Categories->find('all')->count();
$this->set('categoryCount',$categoryCount );
publi function index(){
$category_count = $this->Categories->find('all')->count();
$this->set('category_count',$category_count );
//get all categories
$categories=$this->Categories->find('all');
$this->set('categories', $categories);
}
<div class="col-xs-12 col-md-6 col-lg-3 widget">
<div class="panel panel-red panel-widget">
<div class="row no-padding">
<div class="col-sm-3 col-lg-5 widget-left">
<svg class="glyph stroked app-window-with-content"><use xlink:href="#stroked-app-window-with-content"></use></svg>
</div>
<div class="col-sm-9 col-lg-7 widget-right">
<div class="large"><?php echo $category_count; ?></div>
<div class="text-muted">Categories</div>
<?php
foreach($categories as $category){
?>
<p>$category['Category']['name']</p>
<?php
}
?>
</div>
</div>
</div>
</div>