【发布时间】:2015-10-22 09:50:34
【问题描述】:
我有两个模型 Item 和 ItemDetail 并且它们具有一对多关系
一对多,因为我将项目详细信息存储为Entity-attribute-value Table,它只是一个表,存储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
当我创建一个 Item 时,它会询问我 Item->name 和 Item->Price,在提交时它会调用 ItemsController@store 并使用新创建的项目 ID 重定向到 ItemDetailController@create。
ItemDetailsController@create 重定向到具有更多字段的表单以收集项目详细信息(例如 ItemDetail->Description、ItemDetail->Dimensions 等),并在提交时存储 ItemDetails 模型。
问题:(不像情况那么复杂),问题是我希望它是这样的,如果用户以第一种形式创建项目并且不更新第二种形式的项目详细信息,项目也不应该出现在项目表中。 换句话说,两个存储方法应该是一个事务。
【问题讨论】:
标签: laravel transactions laravel-5.1