首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我使用mysql objects - codeigniter,我如何随机化数据库行?

如果我使用mysql objects - codeigniter,我如何随机化数据库行?
EN

Stack Overflow用户
提问于 2011-06-15 13:55:04
回答 4查看 1.6K关注 0票数 1

我的模型以mysql对象的形式返回数据:

return $q->result();

现在,我想对数据进行混洗/随机化,并将其发送到视图文件。但是当我在对象上使用shuffle($data)时,它不工作,给出一个错误。我想,只有当我的模型返回一个数组时,它才能工作。

有没有什么方法可以在不将数据转换为数组的情况下,或者不让模型返回数组的情况下,对数据进行混洗/随机化?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-15 14:02:53

在生成查询时,您是否考虑过添加$this->db->order_by('id', 'random');?第一个参数是字段名,第二个参数是顺序(可能的值是"asc“、"desc”和"random")。有关更多信息,请查看order_by函数。

编辑

或者,您可以使用result_array()而不是results()。下面是一个例子:

代码语言:javascript
复制
// PHP5
$shuffled_result = $this->db->get('table')->result_array();
shuffle($shuffled_result);

// PHP4
$query = $this->db->get('table');
$shuffled_result = $query->result_array();
shuffle($shuffled_result);
票数 4
EN

Stack Overflow用户

发布于 2011-06-15 13:56:26

对象没有任何明确的属性顺序。如果需要排序,则应使用数组。

票数 1
EN

Stack Overflow用户

发布于 2011-06-15 14:07:34

让你的模型以数组的形式返回mysql数据(如果你不知道怎么做,请给我代码),然后你可以使用Shuffle function来混洗数组。

我不认为你可以用查询或其他什么方法来打乱数据库本身

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6353626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档