繁体   English   中英

错误致命错误:在非对象上调用成员函数insert()

[英]Error Fatal error: Call to a member function insert() on a non-object

我在数据库中插入后使用回调,以将值传递给此其他表,我认为我使用的方法很好。 但是,当它插入数据库中的另一个表(可能是在我的模型中)或控制器中的某些错误信息时,它给了我这个错误,有人可以帮助我。 在有人说要放$ this-> load-> database()之前; 它已经在我的自动加载配置文件中:)

致命错误:在非对象上调用成员函数insert()

遇到PHP错误

严重程度:注意

消息:未定义的属性:Finances :: $ inventory_model

文件名:controllers / finances.php

行号:125

控制器:

public function inventory_management($post_array,$primary_key)
    {  
        $this->load->model('inventory_model');

        if($post_array['id_expense']!=null){
            $type = 'add';
            $id_exp_detail = $primary_key;

            $result = $this->inventory_model->insert([
                'id_exp_detail' => $id_exp_detail,
                'name' => $post_array['brand'],
                'quantity' => $post_array['item_quantity'],
                'lote' => $post_array['package_code'];
                'type' => $type,
                'date' => date(),
                'id_user' => $this->session->userdata('id_user'),
                'id_entity' => $this->session->userdata('id_entity')
            ]);
        }else if ($post_array['name']!=null){
            $type = 'sub';
            $id_treatment = $primary_key;

            $result = $this->inventory_model->insert([
                'id_treatment' => $id_treatment,
                'name' => $post_array['name'],
                'quantity' => $post_data['recomended_dose'],
                'lote' => $post_array['id_package'],
                'type' => $type,
                'date' => date(),
                'id_user' => $this->session->userdata('id_user'),
                'id_entity' => $this->session->userdata('id_entity')
            ]);
        }else{
            $type = 'sub';
            $id_fertilization = $primary_key;

            $result = $this->inventory_model->insert([
                'id_fertilization' => $id_fertilization,
                'name' => $post_data['name'],
                'quantity' => $post_data['quantity'],
                'lote' => $post_data['id_package'],
                'type' => $type,
                'date' => date(),
                'id_user' => $this->session->userdata('id_user'),
                'id_entity' => $this->session->userdata('id_entity')
            ]);
        }

        if($result){
            echo "validation Complete";
        }

    }

模型

class CRUD_model extends CI_Model
{

    protected $_table = null;
    protected $_primary_key = null;

    // ------------------------------------------------------------------------

    public function __construct()
    {
        parent::__construct();
    }


    public function insert($data)
    {

        $this->db->insert($this->_table, $data);
        // return $this->db->insert_id();
    }

模型:

class inventory_model extends CRUD_model
{
    protected $_table = 'inventory_management';
    protected $_primary_key = 'id';

    // ------------------------------------------------------------------------

    public function __construct()
    {
        parent::__construct();
    }

    // ------------------------------------------------------------------------

}

这是错误的,您称错误的模型文件

$this->load->model('inventory_model');

它应该是

$this->load->model('crud_model');

并且您使用错误的方法在函数中传递数组

$param = array('id_exp_detail' => $id_exp_detail, 'name' => $post_array['brand'], 'quantity' => $post_array['item_quantity'], 'lote' => $post_array['package_code'], 'type' => $type, 'date' => date(), 'id_user' => $this->session->userdata('id_user'), 'id_entity' => $this->session->userdata('id_entity')); 

$result = $this->inventory_model->insert($param);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM