【发布时间】:2014-10-01 09:26:03
【问题描述】:
我在 Angular (1.2) 和 Laravel (4.2) 中有简单的 crud 应用程序。对于简单的 crud 操作,我使用高效的 Eloquent 方法:
$product->fill(Input::all());
它从请求负载中获取所有字段,但是当我需要使用空字段更新模型时会出现问题。
在编辑操作中,我有一个表单,其中填充了我的服务的 $resource get 方法的响应:
adminModule.factory 'Product', ($resource) ->
$resource '/admin/products/:id', { id: '@id' }, {
query: { method: 'GET', isArray: false }
update: { method: 'PUT' }
}
控制器:
adminModule.controller 'ProductFormEditController', ($scope, Product, $stateParams) ->
$scope.formData = Product.get({id: $stateParams.id})
和html:
<input type="text" data-ng-model="formData.name" name="name" class="form-control" id="name"
placeholder="Nazwa" data-server-error required>
如果我清除此字段值并确实提交 $scope.formData 的值设置为 undefined 并且不包含在 PUT 请求中,因此 Laravel 模型填充方法无论如何都看不到该字段并且不为验证设置空值,但采用模型的原始值。
问题是:如何从 ngModel 发送空字符串而不是 undefined?
附言如果输入类型是 Textarea,则 $resource 发送空的“”字符串:-/,所以我很困惑...
【问题讨论】:
标签: angularjs laravel angular-resource