如何解决从插入数据库中排除经过验证的数组对象
我试图仅在验证后才将数组中的对象排除在插入数据库之外。代码示例如下
public function store(Request $request)
{
//
$request->merge([
'added_by' => auth('api')->user()->id,]);
$travel = TravelSummary::create( $this->validateRequest($id = null) );
event(new TravelRequestCreatedEvent($travel,$action = 'added travel request'));
return (new TravelSummaryResource($travel))
->response()
->setStatusCode(Response::HTTP_CREATED);
}
下面是经过验证的字段的数组
private function validateRequest($id){
return request()->validate([
'travel_request_no' => $id ? 'required' : 'required|unique:travel_summaries','purpose' => 'required','total' => 'nullable','cash_advance' => 'nullable','advance_amount' => 'nullable|lte:total','added_by' => 'required'
]);
}
总数只能在验证后排除吗?
解决方法
使用
$data = $request->only(['travel_request_no','purpose','cash_advance','advance_amount','advance_amount']);
或
$data = $request->except(['total']);
验证后,然后将该数据传递以创建模型。这是一个例子。
$this->validateRequest($id = null);
$data = $request->only(['travel_request_no','advance_amount']);
//or you can use except
//$data = $request->except(['total']);
$travel = TravelSummary::create($data);
,
您可以在验证后取消设置要排除的数据,如下所示:
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。