获取数据数组时出现 Codeigniter 错误

Posted

技术标签:

【中文标题】获取数据数组时出现 Codeigniter 错误【英文标题】:Codeigniter errors appearing when I get data array 【发布时间】:2014-07-02 06:51:15 【问题描述】:

我有一个模型将一条记录传递给我的控制器,但我不断收到这两个错误

消息:Quotes_model::get_records() 缺少参数 1,调用 /home/digibit/public_html/development/quote/application/controllers/welcome.php 在第 12 行并定义

消息:Quotes_model::get_records() 缺少参数 2,调用 /home/digibit/public_html/development/quote/application/controllers/welcome.php 在第 12 行并定义

我已经玩了将近一个小时,无法理解它。

我的模型

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Quotes_model extends CI_Model

  function __construct()
     parent::__construct();
  

  function get_records($limit, $offset)
    $query = $this->db->select('*')
             ->from('quotes')
             ->join('authors', 'authors.id = quotes.author_id')
             ->join('genre', 'genre.id = quotes.id')
             ->order_by('id', 'RANDOM')
             ->limit($limit, $offset);
    $data = array();
    $data[] = array (

      'title' => $row->title,
      'slug' => $row->slug,
      'meta_keys' => $row->meta_keys,
      'meta_description' => $row->meta_description,
      'content' => $row->content,
      'views' => $row->views,  
    );

    return $data;


  
 

这是我的控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller 


    public function index()
    


        $this->load->helper('url');
        $this->load->model('quotes_model');
        $data['quote']= $this->quotes_model->get_records();
        $this->load->view('welcome_message');

    

【问题讨论】:

【参考方案1】:

这个错误是因为,你没有通过控制器中的函数传递任何参数。

$data['quote']= $this->quotes_model->get_records();
                                                 ^

并且您正在尝试在查询中调用参数(您应该传递给模型)。

$query = $this->db->select('*')
             ->from('quotes')
             ->join('authors', 'authors.id = quotes.author_id')
             ->join('genre', 'genre.id = quotes.id')
             ->order_by('id', 'RANDOM')
             ->limit($limit, $offset);
                     ^         ^

【讨论】:

对不起,我是新手,你能指导我更多吗?在我传递这些参数的任何地方,我都会得到一个不同的错误,我试图实现的是获取一个随机记录,将其传递给我的控制器以根据 slug 记录将我重定向到该页面 传递参数时遇到什么错误?

以上是关于获取数据数组时出现 Codeigniter 错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 mysqli 连接到数据库时出现 Codeigniter 错误

CodeIgniter:我在提交注册表时出现此数据库错误 1048。

[尝试使用mysqli连接到数据库时出现Codeigniter错误

当我尝试运行使用 CodeIgniter 编写的项目时出现 Xampp 未知错误

调用未定义函数 codeigniter\locale_set_default() 时出现 codeigniter 错误

当我需要 CodeIgniter 错误时出现 PHP 错误