Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing argument 1 for Illuminate\Support\MessageBag::has()

When i access my Laravel Project. It Returns Following Errors. How to Solve It.

Missing argument 1 for Illuminate\Support\MessageBag::has(), called in /var/www/laravel/vendor/laravel/framework/src/Illuminate/Support/ViewErrorBag.php on line 92 and defined (View: /var/www/laravel/resources/views/welcome.blade.php)

In my Blade Code :

  @if ($errors->has())
  <div class="alert alert-danger">
  @foreach ($errors->all() as $error)
    {{ $error }}<br>
  @endforeach
  </div>
  @endif
like image 594
Karthikvijayaveni Avatar asked Apr 17 '17 04:04

Karthikvijayaveni


2 Answers

Check this line:

@if ($errors->has())

has() is used to filter the selecting model based on a relationship. So it acts very similarly to a normal WHERE condition. If you just use has('relation') that means you only want to get the models that have at least one related model in this relation.

has() must have a string index as its parameter to check whether it exist or not. But in your case it is blank.

Replace the following line:

@if ($errors->has())

with

@if ($errors->count())

and try again.

like image 185
Mayank Pandeyz Avatar answered Oct 05 '22 12:10

Mayank Pandeyz


Instead of

@if ($errors->has())

Use in Laravel 5.3

@if ($errors->count())
like image 43
Mantas D Avatar answered Oct 05 '22 11:10

Mantas D