Php CodeIgniter版本更新-查询生成器的限制()生成空数组
明确地说,我以前根本没有任何使用CodeIgniter的经验 被分配到一个旧网站,其中CI版本最近更新为最新版本,并且一些循环没有显示任何内容。注意,问题从使用限制函数的查询生成器行开始 在Home.php控制器中,_构造函数执行以下操作:Php CodeIgniter版本更新-查询生成器的限制()生成空数组,php,database,codeigniter,codeigniter-3,query-builder,Php,Database,Codeigniter,Codeigniter 3,Query Builder,明确地说,我以前根本没有任何使用CodeIgniter的经验 被分配到一个旧网站,其中CI版本最近更新为最新版本,并且一些循环没有显示任何内容。注意,问题从使用限制函数的查询生成器行开始 在Home.php控制器中,_构造函数执行以下操作: $this->load->orm('db_et_comu_news', 'news'); 在此之后,索引函数具有: $this->_data['news'] = $this->news->where('status',1)-&
$this->load->orm('db_et_comu_news', 'news');
在此之后,索引函数具有:
$this->_data['news'] = $this->news->where('status',1)->where('id_et_cat_comu_news',2)->order_by('data','DESC')->limit(7)->find_all();
这在过去的CI版本中起作用,并返回了一个完美工作的结果数组,但在更新之后,我得到的只是一个空数组。如果我从查询中删除limit,使其如下所示:
$this->_data['news'] = $this->news->where('status',1)->where('id_et_cat_comu_news',2)->order_by('data','DESC')->find_all();
该查询返回一个良好的健康数组,但没有根据需要将我的行限制为7
我已经检查了CI 3.1.3文档,该函数似乎已正确应用。有人能帮我找出问题吗?用这个替换控制器代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller
{
function __construct() {
parent::__construct();
}
function index()
{
$data['news'] = $this->news();
if(!empty($data['news']))
{
foreach($data['news'] as $objects)
{
echo $objects->data;
}
}
}
function news()
{
$query = $this
->db
->select('*')
->from('db_et_comu_news')
->where('status',1)
->where('id_et_cat_comu_news',"2")
->order_by("data", "DESC")
->limit(7)
->get();
if($query->num_rows()>0)
{
return $query->result(); // return an array of objects
}
else
{
return null;
}
}
}
我自己也得出了这个结论,希望我能用一个更简单的答案,因为我需要在很多方面这样做,似乎这是正确的答案,谢谢你帮助我重申这一点