一個請求一些快速上下文: 我有一個SQL表和JobCards一個雄辯的模型,每個JobCard有幾個操作屬於它。我有一個表格和模型操作。我的應用程序瀏覽的用戶和編輯JobCards,但是當我說編輯Jobcard這可以包括編輯操作有JobCard相關。我有一個頁面,用戶可以編輯Operations對於某個JobCard,我提交數據作爲操作的數組。更新幾條記錄與laravel
我希望有一個乾淨的方式來更新操作的JobCard的數據。還有我可能會或可能不會需要做3個不同的動作:
- 更新現有操作用新的數據
- 創建一個新的操作
- 刪除Operatation
我試着處理前2個,事情已經變得凌亂了。如果在請求中發送的數組中不存在,我仍然需要一種刪除操作的方法。
繼承人我的代碼:
public function SaveOps(Request $a)
{
$JobCardNum = $a -> get('JobCardNum');
$Ops = $a -> get('Ops');
foreach ($Ops as $Op) {
$ExistingOp = JobCardOp::GetOp($JobCardNum, $Op['OpNum'])->first();
if(count($ExistingOp)==0) {
$NewOp = new JobCardOp;
$NewOp -> JobCardNum = $JobCardNum;
$NewOp -> fill($Op);
$NewOp -> save();
$this->UpdateNextOpStatus($JobCardNum, $NewOp);
}
else {
$ExistingOp -> fill($Op);
$ExistingOp -> save();
}
}
誰能幫助與刪除部分和/或幫助使我的代碼更整潔。
謝謝,你能解釋一下這對性能有什麼幫助嗎? –
歡迎您:)我編輯答案請檢查 –