Проверьте, существует ли значение 2 полей в одной строке, используя Laravel Validator - PullRequest
1 голос
/ 23 января 2020

У меня есть массив из нескольких строк.

На данный момент я могу проверить, существует ли поле taskCode в таблице tbl_projtask

, используя Validator.

Теперь мне нужно проверить, существуют ли projCode и taskCode в одной строке.

Это примерные данные tbl_projtask

enter image description here

У меня есть этот рабочий код, который проверяет, существует ли taskCode в таблице или нет.

//Task Code Validations
            foreach ($arr4 as $rowValidate4) {

                $validate_data4[] = array(
                    'projCode'  =>  $projCodeValidate,
                    'taskCode'  =>   $rowValidate4['task_code'],
                    'taskWeight'  =>  $rowValidate4['weight'],
                    'plan_days' =>  $rowValidate4['planned_days'],
                    'actual_days'  =>  $rowValidate4['actual_days'],
                    'deleted'  =>  0,
                    'by_id'  => auth()->user()->id,
                    'updated_by'    =>  auth()->user()->name,
                    'created_at'    =>  now(),
                    'updated_at'    => now(),
                );

                $ttlTaskWeight += $rowValidate4['weight'];
            }
            $validatorSave4 = Validator::make(
                $validate_data4,
                [
                    '*.projCode' => "required",
                    '*.taskCode' => "required|exists:tbl_projtask,taskCode",
                    '*.taskWeight' => "required",
                    '*.plan_days' => "required",
                    '*.actual_days' => "required",
                ],
                [
                    '*.taskCode.exists' => 'The selected :attribute is invalid. Task Code does not exists!',
                ]
            );

       if($validatorSave4->fails()){
                return redirect()
                ->back()
                ->with(['errors'=>$validatorSave4->errors()->all()])
                ->with('modal',$modal);
            }

Не включает в себя целые коды только важную часть. На данный момент мой валидатор может проверить, существует ли 1 field в записи. Но я пытаюсь проверить, существует ли 2fields в той же строке, эти поля projCode и taskCode

UPDATE

I нашел эту полезную тему в той же ситуации, но в этой теме. Значение столбца не приходит из массива.

Этот поток использует Laravel Rule, чтобы проверить, существует или нет field.

Laravel проверка: существует два столбца в одной строке

В моем случае значения моего столбца берутся из моих массивов. Есть ли решение для этой ситуации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...