我的问题是如何将一组模型存储到RESTful后端 我正在使用Backbone.js,我正在考虑:
第一种方法似乎会导致很多开销,因为我必须进行不同的调用才能保存模型。
但是在考虑第二种方法时,Laravel4默认情况下不允许对集合执行post / put。
您最喜欢的方法是什么?更重要的是,为什么?
答案 0 :(得分:0)
第二种方法绝对是我认为的方法,如果你将它与大量模型一起使用,它可以减少延迟并节省带宽,因为所有的HTTP内容(标题等)只会被发送一次。 / p>
在您的控制器中,使用类似的东西(它可能无效,我无法访问任何Laravel安装来测试它):
public function postCollection() {
$collection = Input::get("collection");
DB::transaction(function() {
foreach ($collection as $data) {
// In this example we assume it's a collection of users
// Of course in a real app you would also do input validation
$user = User::create(["name" => $data->name, "email" => $data->email]);
}
})
// Example success response, will be automatically serialized to JSON
return ["status" => "success"];
}
这循环遍历JSON输入的collection
元素,该元素应该是模型列表。那么它显然应该做验证,可能还有其他的东西。整个循环被包装成DB::transaction()
,如果在其中发生异常,它将回滚所有内容。