Laravel《刀锋之谜》中的 $ 错误

问题描述 投票:0回答:2

有人可以向我解释为什么有时我必须使用

$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
php arrays laravel object laravel-blade
2个回答
1
投票
如果您通过 Validator 或在

$errors->all()

 类中验证数据,则使用 
Request
。请参阅文档的第部分。 Laravel 将
$errors
变量共享为
MessageBag
类。

$errors
array
使用 if 在控制器中返回如下内容:

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

在这种情况下,Laravel 将

$errors
变量共享为
array


-1
投票

我并没有真正使用 Laravel,但我认为你总是可以做这样的事情:

  @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
© www.soinside.com 2019 - 2024. All rights reserved.