当使用callback_before_insert
两次时,实施一个而另一个未实现
首次使用
$crud->field_type('state', 'invisible');
$crud->add_fields('state', 'delete_time');
$crud->callback_before_insert(array($this, 'Invisible_callback'));
function Invisible_callback($post_array) {
$post_array['state'] = 1;
return $post_array;
}
第二次使用
$crud->field_type('delete_time', 'invisible');
$crud->add_fields('state', 'delete_time');
$crud->callback_before_insert(array($this, 'Invisible_deleteTime_callback'));
function Invisible_deleteTime_callback($post_array) {
$post_array['delete_time'] = 2000;
return $post_array;
}
回调第一次使用内部的回调,但是在使用callback_before_insert
两次时第二次使用内部的回调没有实现。
我必须使用callback_before_insert
两次。
现在,如何解决这个问题?
答案 0 :(得分:1)
您不能将callback_before_insert
两次与crud
个对象一起使用。如果你真的想要使用它两次,可以:
创建新的crud对象(无论是谁会给你一个新的表单而不是来自同一表单的数据)
只使用1次callback_before_insert调用,在回调方法中,您需要检查以查看您正在管理的表单状态。
使用url中的参数列表或参数来确定您所处的状态。然后使用if / else并调用所需的callback_before_insert。
所以这取决于你的情景...