My Controller, inserts a row in invHdrData Table,
i want the Max Doc Number in that Table to insert a Doc Number automatically,
The callback before insert not works. So Where is the problem? I would greatly appreciate it if you kindly give me some answers :)
My Controller :
public function sanads()
{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('invhdrdata');
$crud->set_subject('BLAH BLAH BLAH');
$crud->columns('FiscalYear','StoreNo','DocType','CreateDate','UpdateDate');
$crud->fields('FiscalYear','StoreNo','DocType','DocNo','CreateDate','UpdateDate');
$crud->callback_before_insert(array($this,'maxDocNoCon'));
$crud->field_type('DocNo','invisible');
$output = $crud->render();
$this->_example_output($output);
}
Another Function in Controller:
public function maxDocNoCon($post_array) {
$this->load->model('inv_model');
$post_array['DocNo'] = $this->inv_model->maxDocNoMod($post_array['FiscalYear'],$post_array['StoreNo'],$post_array['DocType']);
$test['DocNo'] = (int)explode(",", $post_array['DocNo'])+1;
return $test;
}
My Model:
function maxDocNoMod($FiscalYear,$StoreNo,$DocType){
$this->db->select_max('DocNo');
$this->db->where('FiscalYear', $FiscalYear);
$this->db->where('StoreNo', $StoreNo);
$this->db->where('DocType', $DocType);
$data = $this->db->get('invhdrdata');
if ($data->num_rows() != 1) {
// there should only be one row - anything else is an error
return false;
}
return $data->row()->DocNo;
}
Here is the StackOverFlow Link :
http://stackoverflow.com/questions/42180504/call-back-before-insert-not-work-in-grocery-crud
