2017-09-13 3 views
0

I Variable Ansichten in Laravel nennen wollen, aber etwas nicht hier zu arbeiten ist mein Controllerundefinierte Variable in Ansichten Laravel

public function index($id,$slugify, Request $request,WiuCookie $wcookie) 
{ 
    $user = ActionUsers::where('id', $id)->first(); 
    $petition = Petitions::where('slug',$slugify)->first(); 
    $isSigned = $wcookie->checkId($petition->id); 

    return view('layouts.master',compact('user','petition','isSigned')); 
} 

und hier ist meine Ansicht

@if($isSigned) 
    <li> 
     <a href="#"> 
      {{$user->name}} 
     </a> 
    </li> 
    @else 
    <li> 
     <a href="#"> 
      register 
     </a> 
    </li> 
    <li> 
     <a href="#"> 
      log-in 
     </a> 
    </li> 
@endif 

und Fehler ist nicht definiert Variable: user

+0

werfen Sie einen Blick https://StackOverflow.com/Questions/22412832/laravel-compact-and-with – Bugfixer

+0

Meine Vermutung ist Ihre Abfrage für '$ user' gibt' null' zurück, versuchen Sie stattdessen 'firstOrFail()'. Alternativ können Sie auch diese Argumente eingeben und Laravels Routenbindung https://laravel.com/docs/5.5/routing#implicit-binding verwenden – morph

Antwort

1
return view('layouts.master',compact(['user'=>$user,'petition'=>$petition,'isSigned'=>isSigned])); 

mit es für mich perfekt funktioniert einfach.

0

Versuchen Sie folgendes:

$compactData=array('user','petition','isSigned'); 
return View::make('layouts.master', compact($compactData)); 
0

versuchen, dies in kompakter entfernen vorbei und passieren mit

->with('user',$user) 
Verwandte Themen