首先確保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函數不存在。但是在任何地方都沒有錯誤。
如果一切順利,您可以簡單地使用簡單的黑客來調試插入/更新。
在grocery CRUD插入/更新/刪除是ajax調用,所以要調試您的項目,您必須使用firefox螢火蟲進行調試。 你可以讓你的var_dump或print_r看到你的firebug的ajax調用響應。如果你不熟悉如何使用螢火蟲, 我有一個調試小黑客解決方案。
只需轉到您的添加或編輯表單並禁用所有javascripts (您可以下載Web Developer for firefox,然後單擊禁用>禁用Javascript>所有Javascript)。 然後,如果刷新表單添加或編輯並推送提交,那麼在視圖中將出現ajax請求。 所以你可以看到你的var_dump或print_r。
仍雜貨CRUD不支持回調調試,所以我認爲它現在是一個很好的解決方案。除此之外,您可以隨時輕鬆使用codeigniter的log_message功能進行調試。更多你可以看到在http://ellislab.com/codeigniter/user-guide/general/errors.html
嗨約翰,我對調試SQL非常感興趣。你能否更深入地解釋第二段?我已經嘗試了這些步驟,並且我得到了一個包含{{success:true,success_message:您的數據已被存儲,以及更多字段}的json的框但我看不到任何SQL。它應該在哪裏? – voghDev