Прежде всего убедитесь, что call_user_func правильно работает с вашей функцией. Так, например, вы можете попробовать это:
function just_a_test()
{
call_user_func(array($this,'insert_coupon_codes'));
}
function insert_coupon_codes($post_array = array(), $primary_key = null)
{
echo "Just a test";
die();
//Your code here
}
Проблема в обратных вызовах заключается в том, что нет ошибок при отображении ошибок. Так, например, если у вас есть
call_user_func(array($this,'test2'));
Функция test2 не существует. Но нигде нет ошибок.
Если с этим все в порядке, вы можете просто отладить вставку / обновление простым взломом.
В продуктовом CRUD вставка / обновление / удаление - это вызов ajax, поэтому для отладки вашего проекта вы должны отладить его с помощью Firefox Firebug.
Вы можете иметь свой var_dump или print_r и увидеть ответ на вызов ajax от своего firebug. Если вы не знакомы с тем, как использовать firebug,
У меня есть небольшое хакерское решение для отладки.
Просто перейдите в форму добавления или редактирования и отключите все javascripts
(Вы можете скачать Web Developer для Firefox, а затем нажать «Отключить»> «Отключить Javascript»> «Весь Javascript»).
Затем, если вы обновите форму add или edit и нажмете на submit, в представлении появится запрос ajax.
Так что вы можете увидеть свой var_dump или print_r.
Тем не менее продуктовый CRUD не поддерживает отладку для обратных вызовов, поэтому я думаю, что сейчас это хорошее решение. Помимо отладки без взлома, вы всегда можете легко использовать функцию log_message codeigniter. Больше вы можете увидеть на http://ellislab.com/codeigniter/user-guide/general/errors.html