How do include functiont using Laravel 5.4 -
i have problem when include view in laravel 5.4 error:
3/3) errorexception undefined variable: categories (view: c:\xampp\htdocs\blog\resources\views\partials\index.blade.php) (view: c:\xampp\htdocs\blog\resources\views\partials\index.blade.php)
my index:
@extends('layouts.master') @section('content') @include('partials.index') @endsection ________ // index in partials <div class="container index-cat"> <div class="row"> <div class="col-md-12"> <h1>Категория:</h1> <div class="pull-right add-cat"> <a href="{{url('categories/create')}}" class="btn btn-success">Дабавить Катигорию</a> </div> <div class="row"> @foreach($categories $cat) <div class="col-sm-6 col-md-4"> <div class="thumbnail"> <img src="{{asset ('storage/' . $cat->photo)}}" alt="..."> <div class="caption"> <h3>{{$cat->title}}</h3> <form action="{{url('categories/' . $cat->id)}}" method="post"> {{csrf_field()}} {{method_field('delete')}} <div class="buttons-bootstrap"> <a href="{{url('categories/' . $cat->id . '/description')}}" class="btn btn-primary" role="button">подробности</a> <a href="{{url('categories/' . $cat->id . '/edit')}}" class="btn btn-warning" role="button">редактировать</a> <button type="submit" class="btn btn-danger">удалить</button> </div> </form> </div> </div> </div> @endforeach </div> </div> </div> </div> my controller:
this controller
<?php namespace app\http\controllers; use illuminate\http\request; use illuminate\http\uploadedfile; use app\http\requests\catrequest; use app\category; use app\user; use auth; use illuminate\support\facades\storage; class categorycontroller extends controller { //middleware auth public function __construct() { $this->middleware('auth'); } public function show($id ) { $cat = category::query()->find($id); return view('categories.description' , ['categories' => $cat]); } public function index(){ //$listcat = category::all(); $listcat = category::where('user_id' , auth::user()->id)->get(); return view('categories.index' , ['categories' => $listcat]); } public function create(){ return view('categories.create'); } public function store( catrequest $request ){ //return $request->all(); $cat = new category(); $cat->title = $request->input('title'); $cat->description = $request->input('description'); $cat->user_id = auth::user()->id; if($request->hasfile('photo')){ $cat->photo = $request->photo->store('photo'); } $cat->save(); session()->flash('success' , 'Катигория дабавлена'); return redirect('categories'); } /** * @param $id * @return \illuminate\contracts\view\factory|\illuminate\view\view */ public function edit($id){ $cat = category::query()->find($id); return view('categories.edit' , ['categories' => $cat]); } /** * @param request $request * @param $id */ public function update(catrequest $request, $id){ $cat = category::query()->find($id); $cat->title = $request->input('title'); $cat->description = $request->input('description'); if($request->hasfile('photo')){ $cat->photo = $request->photo->store('photo'); } $cat->save(); return redirect('categories'); } public function destroy(request $request, $id){ $cat = category::query()->find($id); $cat->delete(); return redirect('categories'); } }
it appears error describing missing variable
errorexception undefined variable: categories.
this means blade template can't see $categories variable using in loop.
check web.php or app/http/controller/file.php blade template being called , sure passing variable along view function.
example
return view('greeting', ['name' => 'james']); // <= passing variable $name string 'james'
Comments
Post a Comment