2016-09-15 55 views
0

我想问一下可以在食品杂货中进行自动计算的功能。自动计算食品杂货crud

例如:我有一些列a,b和total_a_b。我使用了函数callback_column,但现在它的工作很完美,callback_column只是在查看页面上显示结果,并且它不能自动保存到数据库。什么功能可以参考它?并且是否有办法以字段形式自动显示计算结果?

这是我的代码:

public function try() { 
    $crud = new grocery_CRUD(); 
    $crud->set_table('try'); 
    $crud->columns('a', 'b', 'total'); 
    $crud->callback_column('total', array($this, '_callback_column_total')); 
    $output = $crud->render(); 
    $this->_example_output($output); 
} 

public function _callback_column_total ($value, $row) { 
    $a = $row->a; 
    $b = $row->b; 
    $total=$a + $b; 
    return $total; 
} 

回答

0
  1. 它不能自动保存到数据库中。什么功能可以参考它?

    • 首先,你需要确保的是,本场是列在表中,然后告诉GroceryCrud,这个领域是可用的,但在形式上不可见的。

    $ crud-> change_field_type('your_field','invisible');

    • 第二个(可选),您可以使用2个回调:calback_before_update,calback_before_insert验证或使用PHP来处理这个字段的值

API文档可以帮助: http://www.grocerycrud.com/documentation/options_functions

  1. 并且是否有办法在中自动显示该计算字段形式?

您可以使用JavaScript来添加新的元素和处理的自动计算。并且请记住,应该有一个隐藏的输入将张贴您的邮寄请求到杂货店的控制器。您需要确保该值将通过var_dump提供post调用后的回调中的$ post_data值:callback_before_insert或call_back_before_update。