php - 修复错误 Codeigniter : Call to a member function pilihkat() on a non-object

标签 php mysql codeigniter

错误:

遇到 PHP 错误

严重性:通知

消息:未定义的属性:CI_DB_mysqli_result::$Input_model

文件名:controllers/Input_App.php

行号:18

回溯:

文件:C:\xampp\htdocs\admin_app\application\controllers\Input_App.php 线路:18 函数:_error_handler

文件:C:\xampp\htdocs\admin_app\index.php 线路:315 功能:require_once

fatal error :第 18 行在 C:\xampp\htdocs\admin_app\application\controllers\Input_App.php 中的非对象上调用成员函数 pilihkat()

我的 Controller

    class Input_App extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->helper('url');                    
    $this->load->model('Input_model','input_app'); 
}

public function index()
{
    $this->db->from('referensi_kategori');
    $query = $this->db->get();

    $load['pilihkategori'] = $query->Input_model->pilihkat()->result();

    $this->load->view('input_view',$load);
}

模型(pilihkat())

        public function pilihkat(){
    $this->db->select('*');    
    $this->db->join('referensi_kategori','referensi_kategori.id_kategori = data_aplikasi.id_kategori','left');
    $query = $this->db->get();

    return $query->result();
}

查看(从 data_kategori 中选择下拉列表)

    <tr>
                                        <td>Kategori</td>
                                        <td><select name="data_kategori" class="form-control"required id="data_kategori" style="width:85%;">
                                        <option value='0'>-- pilih kategori --</option>
                                            <?php foreach ($pilihkategori as $kat) {
                                                echo "<option value=".$kat->id_kategori.">".$kat->data_kategori."</option>";
                                            }?>
                                        </select></td>
                                    </tr>

如何修复这个错误?

最佳答案

像这样加载模型

$this->load->model('Input_model','input_model');  //here input_model is alias name
$this->load->model('Input_app','input_app');  //here input_app is alias name

(或)

$this->load->model(array('Input_model','input_app')); // pass as array mutiple modal .in below i'm using this one 

在调用模型时删除 Controller 中的 result(),因为在模型中您返回 result(),因此在 Controller 中无需再次调用它。

 $load['pilihkategori'] = Input_model->pilihkat();

Controller :

    public function index()
    {

        $load['pilihkategori'] = Input_model->pilihkat();

        $this->load->view('input_view',$load);
    }

型号:

  public function pilihkat()
      {
            $this->db->select('*');    
            $this->db->from('referensi_kategori');
            $this->db->join('referensi_kategori','referensi_kategori.id_kategori = data_aplikasi.id_kategori','left');
            $query = $this->db->get();

            return $query->result();
        }

关于php - 修复错误 Codeigniter : Call to a member function pilihkat() on a non-object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242219/

相关文章:

javascript - 使用 Ajax 将值从 jquery 传递到 php

php - 从 php scandir 列表中删除文件夹

php - 评论的发布数据未传输至查询

php - 从 mysql 表返回类别 ID

javascript - Angular js http 获取失败

php - 易受攻击的 PHP 代码示例?

mysql - 使用命令行复制 mysql 数据库

MYSQL where 或语句未按预期工作

php - MySQL/PHP - 过滤非数字字段的数值

codeigniter - 为了使用 Session 类,您需要在配置文件中设置加密 key