2016-09-15 51 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。