为了账号安全,请及时绑定邮箱和手机立即绑定

验证来自 foreach Laravel 的汇总数组字段

验证来自 foreach Laravel 的汇总数组字段

PHP
慕尼黑8549860 2022-07-16 18:10:04
目前,我foreach array在收集所有tasks内容并包含weight每个任务的地方工作。这是我的工作代码foreach ($arr4 as $row4) {    $taskCode = strtoupper(str_random(12));    $insert_data5[] = array(        'projCode'  =>  $projCode,        'taskCode'  => $taskCode,        'taskWeight'  =>  $row4['weight'],        'plan_days' =>  $row4['planned_days'],        'actual_days'  =>  $row4['actual_days'],        'deleted'  =>  0,        'by_id'  => auth()->user()->id,        'updated_by'    =>  auth()->user()->name,        'created_at'    =>  now(),        'updated_at'    => now(),        );}dd($insert_data5);输出我要做的是验证总和taskWeight是否5 Tasks未达到 100%,这将显示一条错误消息。截至目前我的想法是使用validator,但我不知道如何计算数组字段taskWeight  $validator = Validator::make(                $insert_data5,                [                   ......                ]            );   if($validator->fails()){                return redirect()                ->back()                ->with(['errors'=>$validator->errors()->all()])                ->with('modal',$modal);            }
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

解决了我的问题


我$ttlTaskWeight = 0;在 foreach 之外声明


然后按照建议在里面做总结foreach


像这样


$ttlTaskWeight += $row4['weight'];


我这样做是为了验证它是否超过 100%


    if($ttlTaskWeight != 100){

                return redirect()

                ->back()

                ->with(['errors'=> [0=> 'Total Task Weight must be exact 100%']])

                ->with('modal',$modal);

            }

输出是这个

//img1.sycdn.imooc.com//62d28ea90001844f05210209.jpg

查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信