2015-11-20 9 views
0

У меня есть этот сегмент кода, где я получаю ежемесячное использование ингредиентов, используемых в производстве, я не знаю, как я получаю эту ошибку Message: Call to undefined method production_model::update_usage() Я хочу манипулировать суммой ingredient_qty для использования это по уравнению $ro = ((int)$total/(int)30) * (int)$lt; Я делаю это правильно?call to undefined method :: update_usage() error

//Gets Lead Time for reorder lvl 

$this -> db -> join('purchase_orders', 'purchase_orders.order_reference = purchases.purchase_reference', 'left'); 
$this -> db -> join('suppliers', 'suppliers.supplier_id = purchases.supplier_id', 'left'); 
$this -> db -> join('products', 'products.product_id = purchase_orders.product_id', 'right'); 


$this->db->select('suppliers.lead_time'); 
$this->db->from('purchases'); 

$this->db->where('purchase_orders.product_id', $rm); 
$lt = $this->db->get()->row('suppliers.lead_time'); 

//Gets monthly usage of raw mats 
$this->db->join('production_batch', 'production_batch.pb_id = ingredients.pb_Id', 'left'); 
$this->db->join('production', 'production.batch_id = production_batch.batch_reference', 'right'); 
$this->db->where('ingredients.product_id', $rm); 
$this->db->select_sum('ingredient_qty'); 
$this->db->group_by('month(date_produced)'); 

$q = $this->db->get('ingredients'); 

$total= $q->result(); 

$ro = ((int)$total/(int)30) * (int)$lt; 

//Updates ReOrder Level 
$rou = array(
    'ro_lvl' => $ro, 
); 

$this->db->where('product_id', $rm); 
$this->db->update('products', $rou); 

сегмента этого кода в модели

ответ

2

Это ясно говорит, что нет такой функции (в классах они называются методами) update_usage() insde вашей модели production_model.php.

Возможно, вы ошибочно написали свое имя в декларации метода или просто забыли поместить в файл модели.

Это не имеет никакого отношения к самому коде.

+0

Я не ставил на него такую ​​функцию, я думаю, что разбор значения '$ total = $ q-> result();' и использование его для обновления таблицы вызывает ошибку – NaDie

+0

Ну, можете ли вы сделать уверен, что это причина? Попробуйте отлаживать вывод вставки сценария; в разных местах. Также вы можете показать весь код? Непонятно, откуда взялся этот фрагмент кода - модель? контроллер? – Vaviloff

+0

Это в модели, я обновил ее, добавив, как я получаю '$ lt' из уравнения. я знаю, когда вы запрашиваете результат из базы данных, он возвращает его в массиве, но именно поэтому я разобрал его в intger с помощью '(int) $ total' – NaDie

Смежные вопросы