Im retrieving data from database into my Laravel admin panel, but it says undefined variable in my view.
index.blade.php is located in admin folder inside view folder
index.blade.php
@extends('admin.layout.admin')
@section('content')
<h3>Admin Panel</h3>
<table class="table">
<tbody>
@foreach($pools as $pool)
<tr>
<td>{{$pool->title}}</td>
<td>Edit
|
Delete
</td>
</tr>
@endforeach
</tbody>
</table>
@endsection
PoolDeisgnsController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Category;
use App\PoolDesign;
class PoolDesignController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$pools = PoolDesign::all();
return view('admin.index', compact('pools'));
}
}
PoolDesign.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class PoolDesign extends Model
{
protected $fillable = ['title','description','area','depth','cost','image','category_id'];
public function category(){
$this->belongsTo(Category::class);
}
}
It gives this error when executing
Undefined variable: pools (View: C:\xampp\htdocs\jayani_poolesources\views\admin\index.blade.php)
Routes
Route::get('/', function () {
return view('welcome');
});
Route::get('/index','PagesController@index');
Route::get('/projects','PagesController@index1');
Route::get('/services','PagesController@index2');
Route::get('/blog','PagesController@index3');
Route::get('/about','PagesController@index4');
Route::get('/contact','PagesController@index5');
Auth::routes();
Route::get('/login','PagesController@login');
Route::get('/home', 'HomeController@index')->name('home');
Route::group(['prefix'=>'admin','middleware'=>'auth'], function(){
Route::get('/', function(){
return view('admin.index');
})->name('admin.index');
Route::resource('pools', 'PoolDesignController');
Route::resource('category', 'CategoriesController');
});