我在使用这个脚本时遇到了一些问题...工作正常,但不适用于在查询中找到的记录总数。
我的ORM上有这个函数叫做“mix”。共有3个表:mixes,generos和mixes_generos。
我可以在“混音”表格或“generos”表格上搜索任何人。
public function search($query, $itemsperpage, $page)
{
if (empty($page))
$page = 1;
$offset = ($page - 1) * $itemsperpage;
$orm = $this->join('mixes_generos', 'LEFT')->on('mix.id', '=', 'mixes_generos.mix_id')
->join('generos', 'LEFT')->on('generos.id', '=', 'mixes_generos.genero_id')
->where_open()
->or_where('mix.nombre', 'LIKE', '%'.$query.'%')
->or_where('mix.descripcion', 'LIKE', '%'.$query.'%')
->or_where('generos.nombre', 'LIKE', '%'.$query.'%')
->where_close()
->and_where('mix.estatus', '=', 'active')
->order_by('mix.fecha_produccion', 'DESC')
->order_by('mix.track', 'DESC');
$this->_search_total = $orm->reset(FALSE)->count_all();
$orm = $orm->limit($itemsperpage)->offset($offset);
return $orm;
}
public function search_total()
{
return $this->_search_total;
}
然后,在我的控制器中我有这个:
$data = ORM::factory('mix')->search('pop music', 10, 1);
如果我想回应总数,我会这样做:
echo $data->search_total();
在我的视图中我打印信息:
foreach($data->find_all() as $mix)
echo $mix->nombre;
http://s10.postimage.org/cvnr28nop/records.jpg
在此链接中,您将看到结果,仔细查看“records_founds”列与其创建的“记录”数量,3 vs 1 ??。
这是主要问题...因为当我打印混音的数据时显示3而不是1.我还添加了group_by('mix.id')而没有:(
您怎么看?
谢谢