Laravel |отсутствуют данные проверки - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь настроить проверку правильности laravel для возврата переданных ключей, в случае змеи, чтобы я мог использовать значения для вставки в модель без необходимости делать что-то вроде:

User::query()->create([
    'email_address' => $data['emailAddress']
]);

IЯ нашел метод, который делает это и возвращает данные из метода $this->validate.

Я изменил метод, чтобы он возвращался в формате змеи:

protected function extractInputFromRules(Request $request, array $rules)
{
    return $request->only(collect($rules)->keys()->map(function ($rule) {
        return Str::contains($rule, '.') ? Str::snake(explode('.', $rule)[0]) : Str::snake($rule);
    })->unique()->toArray());
}

Как вы можете видетьЯ буквально добавил Str::snake($rule).

Поскольку я добавил это, в конечной точке, куда я отправляю только запрос с телом

{
    "emailAddress": "example@domain.com"
}

Данные возвращаются как[].

Если я выполняю dd внутри метода extractFromInput, я вижу, что он корректно преобразуется в случай змеи, поэтому emailAddress становится email_address, но, как я говорил ранее, массив не является 'возвращается как пустое.

public function resetPassword(Request $request)
{
    $data = $this->validate($request, [
        'emailAddress' => ['required', 'email']
    ]);

    dd($data);
}
...