繁体   English   中英

在数组laravel 5.4上调用成员函数first()

[英]Call to a member function first() on array laravel 5.4

我对laravel 5.4还是很陌生,对刀片模板不太了解。

问题是我正在将数组传递给视图,并尝试通过刀片模板提供的first()函数获取数组元素的第一个索引,但它给我错误Call to a member function first() on array

这是我的控制器代码

 public function authenticate(Request $request )
 {               
    if (Auth::attempt(['email' => $request->input('email'), 'password' => 
        $request->input('password'), 'Status' => 0])) 
        {
            // Authentication passed...
            return redirect()->intended('Users');
        }
    else
    {
        $json=array('email'=>'You cant leave Email field empty');         
        return  View::make('Auth/login')->with('error',($json));           
    }
 }

这是我的查看代码

  @if($errors->any())         
       {{ $errors->first('email') }}
  @endif

我正在寻找完全适合我需求的解决方案。 如果做错了,请纠正我。 谢谢...

您可以使用

@foreach ($errors as $error)
   {{ $error }}
@endforeach

这样就可以看到返回的错误列表

在您的方法中,您没有使用Laravel验证。 您只是传递一个数组,而基本的php数组没有诸如anyfirst 他们属于Laravel系列。

这只是一个数组,您可以达到数组元素,如下所述

因此,如果您想保留自己的代码,可以这样做

@if(isset($error))
   {{$error['email'] }} 
@endif

但是正确的方法是验证部分。

$this->validate($request, [
        'email' => 'required| email',
    ]);

请深入阅读有关验证和认证的文档https://laravel.com/docs/5.4/validation

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM