因爲新項目要用laravel,還要自己寫後臺,在此記錄下踩到的坑。
因爲laravel-admin封裝的太好了,所以很多定製化的功能實現起來真的挺麻煩的。
這次的背景情況:有一個數據表head,記錄主體信息,然後下面還有line,記錄主體信息的子信息
需求:創建head之後,直接跳轉到該head所屬line的界面,(用於直接創建)。
問題:因爲form表單的saved判斷或者submitted判斷都是數據提交後來做處理(創建時的提交,或者編輯時的提交是沒有區分的)。
解決方法:先貼代碼
$form->saved(function (Form $form) {
$id = $form->model()->id;
// 跳轉頁面
if ($form->model()->created_at == $form->model()->updated_at) {
return redirect('/admin/po-system/po-heads/'. $id . '/polines');
}
});
PS:重定向的就不解釋拉,自己寫個路由就好了
原理:我一直解決不了,突然靈光一現,就去研究了創建後model中數據的差別,還有edit之後數據的差別,因爲我設置了update的時間戳,每次edit之後這個時間戳都會變(不管數據有沒有變化),所以就會導致created_ad和updated_at時間戳不一致,就能輕鬆判斷拉!