Laravel: Undefined variable in blade view
Solution 1
You have used $images
as your variable name when passing the data to the view. This results in blade creating a variable called $$images
.
return view('admin',[ 'images' => $images]);
will result in the view creating a variable called $images
Solution 2
Try passing data like this.
$images = Image::paginate();
return view("admin")->with('images',$images);
Basically,you need not use $
in the variable name.
Solution 3
Your code should be like this
public function admin() {
$images = Image::paginate();
return view('admin',[ 'images' => $images]);
}
Why you use [ '$images' => $images]
. that is the problem.
Solution 4
You may use this method also to pass your data to view
return view('admin',compact('images'));
Sahand
Software developer since August 2018. Studied Machine Learning at KTH, Sweden. Currently writing my master's thesis, where I'm implementing a neural search engine. Technologies: Java, Scala, Python, Javascript Want to learn: Apache Spark, Hadoop Interests: Data Engineering, Machine learning, Music, Human Psychology
Updated on December 26, 2020Comments
-
Sahand over 3 years
This is
AdminController.php
:<?php namespace App\Http\Controllers; use Response; use Illuminate\Support\Facades\DB; use App\Caption; use App\Image; use App\Http\Controllers\Controller; class AdminController extends Controller { public function admin() { $images = Image::paginate(); return view('admin',[ '$images' => $images]); } }
And this is
admin.blade.php
:@extends('template') @section('title') Admin Page @endsection @section('header') @endsection @section('main') @if (Auth::check()) @foreach ($images as $image) <p value='{{$image->id}}'>{{$image->content}}</p> <form action="image/{{$image->id}}/delete" method="post"> <button type="submit">Delete caption</button> </form> <form action="image/{{$image->id}}/approve" method="post"> <button type="submit">Accept image</button> </form> @endforeach @else <p>Login first</p> @endif @endsection @section('footer') @endsection
Why do I get the following error?
ErrorException in 408148d5409ae6eebf768dc5721bd0d1d9af48af.php line 9: Undefined variable: images (View: /Users/sahandz/Documents/School/Singapore/CS3226/backend/resources/views/admin.blade.php)
$images
is clearly defined in my controller.