Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter版本更新-查询生成器的限制()生成空数组_Php_Database_Codeigniter_Codeigniter 3_Query Builder - Fatal编程技术网

Php CodeIgniter版本更新-查询生成器的限制()生成空数组

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)-&

明确地说,我以前根本没有任何使用CodeIgniter的经验

被分配到一个旧网站,其中CI版本最近更新为最新版本,并且一些循环没有显示任何内容。注意,问题从使用限制函数的查询生成器行开始

在Home.php控制器中,_构造函数执行以下操作:

$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;
        }
    }

}

我自己也得出了这个结论,希望我能用一个更简单的答案,因为我需要在很多方面这样做,似乎这是正确的答案,谢谢你帮助我重申这一点