我正在尝试让我的模型返回两个查询,一个用于数据本身,这是来自“类别”表的多个记录,另一个是计数字段,来自“帖子”表。
我已经尝试了很多可能的解决方案,但到目前为止还没有为我修复它。
我的观点确实适用于正确的路线/论坛/ $ ID,但加载类别和每个类别的帖子数不起作用。
分类控制器:
$this->load->database();
$this->load->model("Categories_model");
$results=$this->Categories_model->getCategories();
$data=array('results'=>$results);
$this->load->view('Categories_view',$results);
分类模型:
// this works if I only want to get all the categories
// $query=$this->db->get('Categories');
// return $query->result();
$query1 = $this->db->get('Categories');
$query2 = $this->db->query("SELECT COUNT(*) AS rowCount FROM Posts");
$return array('categories' => $query1, 'count' => $query2);
分类视图:
<tbody>
<?php foreach ($results['categories'] as $r):?>
<tr>
<td><a href="<?php echo site_url('forum'); ?>/<?=$r->CategorieId?>"><?=$r->Name?></a></td>
<td><?=$r->rowCount?></td>
</tr>
<?php endforeach;?>
</tbody>
当我加载Categories视图时,我收到此错误:
语法错误,意外'数组'(T_ARRAY),文件名:models / Categories_model.php
有人可以帮我提供一些关于如何执行此操作的示例代码,或修复我当前的代码吗?
提前谢谢!
答案 0 :(得分:3)
在您的代码中返回错误从您的返回类型中删除$
$return array('categories' => $query1, 'count' => $query2);
应该是
return array('categories' => $query1, 'count' => $query2);
答案 1 :(得分:0)
$query['categories'] = $this->db->get('Categories')->result_array();
$query['count'] = $this->db->query("SELECT COUNT(*) AS rowCount FROM Posts")->result();
return $query;
试试这个。没做什么好事。刚刚使用了result_array()和result()。我希望它们与您的CI版本兼容!!
答案 2 :(得分:0)
运行事务:
要使用事务运行查询,您将使用$ this-&gt; db-&gt; trans_start()和$ this-&gt; db-&gt; trans_complete()函数,如下所示: / p>
$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();
您可以在启动/完成功能之间运行任意数量的查询,并且可以根据任何给定查询的成功或失败提交或回滚它们。 Click here to see more