【问题标题】:Call back before insert not work in Grocery CRUD在插入之前回调在 Grocery CRUD 中不起作用
【发布时间】:2017-02-11 19:50:56
【问题描述】:

我的控制器,在 invHdrData 表中插入一行, 我希望该表中的最大文档编号自动插入文档编号 插入之前的回调不起作用。 那么问题出在哪里? 如果您能给我一些答案,我将不胜感激:)

我的控制器:

        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);
}

控制器中的另一个功能:

    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;
}

我的模特:

    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;
}

【问题讨论】:

    标签: php mysql codeigniter grocery-crud


    【解决方案1】:

    问题已解决。 我将控制器更改为以下内容:

        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'])+1;
        if ($post_array['DocNo'] == 1){
            $post_array['DocNo'] = 10001;
        }
        return $post_array;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多