我在Laravel 4(产品信息管理)上构建API。 得到的产品翻译与他们之间的Eloquent关系。一个产品有很多翻译。
当我在API上调用商店时,我正在存储新产品,但也是一个新的翻译(没有默认翻译的产品没用) 要实现这两种方式:
$product = new Product(Input::all()))->save();
$product->translations()->save(Input::all());
效果很好,得到了一个带默认翻译的新产品。
另一种思考方式:
$product = new Product(Input::all()))->save();
$request = Request::create(
'/product/'.$product->id ./translations, 'POST',Input::all());
第二个问题:
如果转换未能存储,产品存储在DB(第一个保存请求)中,是否可以避免这种情况,如果DB中的转换正常,则仅存储产品?
哪一个是最佳做法?
答案 0 :(得分:0)
您应该考虑使用Laravel documentation中的交易。
另外,你盲目地使用Input::all()
这不是一个好主意。您应该使用Input::only(['one', 'two', 'three'])