Ошибки Laravel $ в тайне клинка - PullRequest
0 голосов
/ 29 августа 2018

Может кто-нибудь объяснить мне, почему иногда мне приходится использовать $errors->all(), а иногда нет? Изо всех сил пытается найти уникальное решение для массива ошибок и объекта $ errors.

// View 1
@if (count($errors) > 0)
    @foreach($errors as $error)
        {{ $error }}<br>
    @endforeach
@endif

// View 2 that sometimes it crashes with:
// "Call to a member function all() on array"
@if (count($errors) > 0)
    @foreach($errors->all() as $error)
        {{ $error }}<br>
    @endforeach
@endif

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

$errors->all() используется, если вы проверяете данные с помощью Validator или в классе Request. См. Эту часть документации. Доля Laravel $errors переменная как MessageBag класс.

$errors как array, используя, если в контроллере вы возвращаете что-то вроде этого:

return back()->withErrors([
    'field1' => 'Error in the field 1'
]);

В этом случае доля Laravel $errors изменяется как array

0 голосов
/ 29 августа 2018

Я на самом деле не так много делаю, но думаю, вы всегда можете сделать что-то вроде этого:

  @if (count($errors) > 0)
    @if(is_array($errors))
      @foreach($errors as $error)
        // code
      @endforeach
    @elseif(is_object($errors))
      @foreach($errors->all() as $error)
        //code
      @endforeach
    @endif
  @endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...