这是我的问题
"SELECT * FROM package_info ORDER BY RAND() LIMIT 0,3;"我试着把它写在活动记录中,就像这样。
$this->db->select('*');
$this->db->from('package_info');
$this->db->order_by("id", "random");
$this->db->limit(0, 3);
$result = $this->db->get();但这不是工作。如何在活动记录中写入此内容?
发布于 2017-02-14 18:28:41
CodeIgniter并不强制要求你为大多数Query Builder语句提供2个参数,你可以通过执行->where('1=1')来做一个完整的WHERE,这是非常好的。
我很惊讶有这么多人不理解方法链接,但我会在我的例子中展示它只是更好……
$result = $this->db->select('*')
->from('package_info')
->order_by('rand()')
->limit(0, 3)
>get();如上所述,如果您的原始查询中没有两个参数,请不要感到必须添加两个参数。
对于这样的基本查询,您可以做的另一件事是完全省略from('package_info'),并将表名保留在->get('package_info')中
如果你不喜欢查询构建器,你也不需要使用它。对于某些事情,我不这样做(例如,您不能对它们使用联合)。在这种情况下,只需使用
$result = $this->db->query("SELECT * FROM package_info ORDER BY RAND() LIMIT 0,3;");https://stackoverflow.com/questions/42223427
复制相似问题