在字符串laveral上调用成员函数all()

时间:2018-08-22 10:47:21

标签: php laravel-5

以下是laravel上youtube上的教程,使用laravel 5.6。 尝试显示错误时出现错误 这里的代码

这是视图

 @if (isset($errors)&&count($errors) > 0)
        <div class="alert alert-dismissable alert-danger fade show">
            <button type="button" class="close" data-dismiss="alert" area-label="Close">
                <span area-hidden="true">&times;</span>
            </button>
            @foreach ($errors->all() as $error)
                <li><strong>{!! $error !!}}</strong></li>
            @endforeach
        </div>
    @endif

这是控制器

  return back()->withInput()->with('errors', 'Error creating new company');

所以我不知道哪里出了问题有人可以帮助我

3 个答案:

答案 0 :(得分:2)

您可以将laravel重定向用于刷新的会话数据

controller =>

 return redirect()->back()->with('error','Error creating new company');

view =>

@if(session('error'))
    {{session('error')}}
@endif

答案 1 :(得分:0)

通过

return back()->withInput()->with('errors', 'Error creating new company'); 

您正在将“错误”设置为字符串

以下代码应该对您有效,而无需更改您的标记:

return back()->withInput()->withErrors(['Error creating new company']);

在您的代码中,您使用的是foreach,因此$errors项需要可迭代。

您可以向阵列添加更多错误,例如:

return back()->withInput()->withErrors(['Error creating new company', 'Second error']);

答案 2 :(得分:0)

检查并显示在会话中

 return redirect()->back()->withInput()->with('errors', 'Error creating new company');

在模板中显示

@if(session('errors'))
     {{session('errors')}}
@endif

您正在显示单个错误,因此需要添加@foreach