我有兩個型號項目和ItemDetail,他們有一個一個一對多關係兩種型號在數據庫存儲爲一個交易
一到多,因爲我存儲該項目的詳細信息作爲實體 - 屬性 - 值表,它只不過是一個表中的列,當我創建一個項目存儲ItemDetails如下
id|item_id_fkey|Label |Value
1 |1 |Color |Black
2 |1 |Description |Item 1 Details
3 |1 |Size |2x4x6
4 |2 |Description |Item 2 Details
5 |2 |Weight |1000
標籤和值也問我用品 - >名和用品 - >價格,在提交它調用上述ItemsController @店並重定向到ItemDetailController @創建與新建項目的ID。
ItemDetailsController @創建重定向到與更多的領域收集項目的詳細資料表格(如ItemDetail->描述,ItemDetail->尺寸等),並提交存儲ItemDetails模型。
問題 :(不一樣複雜局面),問題是我希望它是這樣的:如果用戶在第一種形式創建項目並不會更新第二種形式的項目細節,項目不該」 t也出現在Item表中。 換句話說,兩個商店的方法應該是一個單一的交易。
對不起,但我不明白解決方案1.但根據你的解決方案2我有'ItemDetailsController @ store'方法接受一個'$ itemId',但這時itemId已經存儲在項目表中,如果用戶在提交之前中止項目詳細信息,我有項目但沒有項目的詳細信息。我想避免這種情況。 – karmendra
對於__Solution 1__,您可以在窗體上放置一個按鈕,單擊它時會爲ItemDetail添加一個輸入元素。這樣,您可以根據需要添加儘可能多的'ItemDetail'。對於__Solution 2__,如果沒有ItemDetail,你可以刪除存儲的Item。 –