我对这个脚本有一些问题......工作正常,但不适用于查询中找到的全部记录。
我的 ORM 上有一个名为“mix”的函数。有 3 个表:mixes、generos 和 mixes_generos。
我可以在“mixes”表或“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') 并且什么都没有:(
你怎么看?
谢谢