【发布时间】:2019-02-03 23:09:47
【问题描述】:
有人能解释一下为什么有时我必须使用$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
【问题讨论】:
-
您有时会手动将错误传递给您的视图吗?例如:
return view('...')->withErrors(['Your errors']); -
您必须在视图响应中使用
with('errors', [...])手动传递错误,或者通过session([ 'errors' => [...])在会话中手动设置错误,您需要确保始终在视图响应中使用withErrors([..])或重定向响应以正确设置错误消息。 -
你使用的是什么版本的 Laravel?另外,如果控制器方法与您处理验证的方式有什么不同?
-
5.6 @RossWilson 我在控制器上什么也没做。
标签: php arrays laravel object laravel-blade