2017-05-17 89 views
0

我不知道在這種情況下該做什麼。 我有兩個型號:如何組織兩個動作:創建兩個模型並將其鏈接到另一個模型或創建一個模型(取決於用戶的選擇)

  • 評論(TASK_ID,文本)
  • 任務(標題,優先級,類型,描述)

我需要就如何創建此機型的用戶選擇:

  • 創建任務本身
  • 創建一個簡單的評論(TASK_ID = NULL)
  • 創建註釋AS任務(不要問爲什麼,這是我的想法:)的一部分)

前兩個都做了,我有獨立的控制器和方法。但最後一個有點棘手: 當用戶按下'創建評論作爲一項任務'(+他填寫任務屬性的表單)時,服務器端應創建一個新的任務,然後創建一個新的評論與task_id鏈接到創建任務。我可以想象的是骯髒的重複代碼。

最好的方法,我發現:

  • 創建一個名爲「CreatedTaskFromCommentsSection」事件,並調用評論回購那裏(在聽衆)創建一個新的註釋,鏈接到任務
  • 然後使用TaskController->創建方法並在請求中傳遞額外的評論信息,並檢查是否($ request-> comment_title)然後調用事件

但我認爲這是非常糟糕的邏輯。也許我應該使用另一個表結構呢?將欣賞這裏的任何建議:)

回答

0

好吧,我已經結束了這個解決方案: 創建一個任務存儲庫的裝飾,這個裝飾添加評論創建。因此,如果任務的創建操作中有$ request-> comment_text,那麼我們通過裝飾器創建一個新任務。這是我可以創建的最佳解決方案,任何想法或建議仍然讚賞:)

相關問題