gpt4 book ai didi

php - 如何在 Grocery Grocery 中进行一些逻辑操作后插入数据

转载 作者:行者123 更新时间:2023-11-29 13:12:25 25 4
gpt4 key购买 nike

我对 Grocery Grocery 很陌生。我在 insert_before_callback 上遇到了一些逻辑操作问题

我有一个产品表,当我出售产品时,它会检查产品的可用性。如果可用,则会将其插入数据库

        $crud = new grocery_CRUD();
//$crud->set_subject('Guards');
$this->grocery_crud->set_table('chalan')
->set_subject('Chalan')
//->fields('Date','cid','pid','voucher','qnty','Amount','Paid Amount','Due Amount','Remarks')
->columns('cdate','cid','eid','pid','voucher','qnty','price','Amount','paid','Due Amount','Check','remark')
->display_as('cdate','Date')
->display_as('check','Check')
->display_as('cid','Customer Name')
->display_as('voucher','Chalan No.')
->display_as('eid','Employee Name')
->display_as('pid','Item Name')
->display_as('qnty','Quantity')
->display_as('price','Price')
->display_as('remark','Remark')
->set_relation('eid','employee','name')
->set_relation('cid','Customer','name')
->set_relation('pid','product','name')
->callback_column('Amount',array($this,'_total_amount'))
->callback_column('Due Amount',array($this,'_due_amount'))
->set_rules('qnty','Quantity','numeric')
->set_rules('eid','Employee','String')
->set_rules('pid','Product','String')
->set_rules('qnty','Quantity','numeric')
->set_rules('cdate','Date','date')
->callback_before_insert(array($this,'_checkAvaiability'))
->unset_delete();
//$crud->display_as('sec_guard_master_id','Guard Name');
$output = $this->grocery_crud->render();
//$data['viewName']="welcome";
$this->load->view('search',$output);

这是我的 _checkAvaiability 逻辑

function _checkAvaiability($post_array){
$total=100; // just for test
if($post_array['qnty']>$total){
return false;
}
}

它运行时没有任何过滤,并且总是插入数据,尽管产品超出了总值(value)。如果有人解决这个问题,它将非常有帮助

最佳答案

请注意,如果返回 false,callback_before_insert 不会有停止插入的行为(事实上,此回调必须返回一个数组,其中包含将在将要发生的插入操作中使用的值)回调处理后立即)。

如果您在插入之前需要一些逻辑验证(为了不允许它根据您的逻辑执行),您可以做两件事:

1) 创建自定义验证规则并使用 set_rules 添加它 http://www.grocerycrud.com/documentation/options_functions/set_rules

我认为这可能更容易做到

2) 您可以使用callback_insert 实现完全自定义的插入操作。此回调逃避 CRUD 的自动插入,并仅运行插入的回调。

http://www.grocerycrud.com/documentation/options_functions/callback_insert

关于php - 如何在 Grocery Grocery 中进行一些逻辑操作后插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21899480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com