Я использую обратный вызов после вставки в базу данных, чтобы передать значения в эту другую таблицу, я думаю, что метод, который я использовал, хорошо. Но он дает мне эту ошибку, когда его вставка в другую таблицу в базе данных, возможно, в моей модели, или что-то в контроллере, я вроде как ничего не понимаю в этой ошибке, может кто-нибудь, пожалуйста, помогите мне.
Перед тем, как кто-то скажет, что нужно положить $ this-> load-> database (); его уже в моей автозагрузке в конфигурационном файле 🙂
Неустранимая ошибка: вызов функции-члена insert () для необъекта
Обнаружена ошибка PHP
Серьезность: Уведомление
Сообщение: неопределенное свойство: Финансы :: $ 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);
Других решений пока нет …