未定义的变量laravel

问题描述:

我想打电话给变量视图laravel的事,但不工作 这里是我的控制器未定义的变量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')); 
} 

,这里是我的观点

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

和错误是未定义变量:用户

+0

看看https://stackoverflow.com/questions/22412832/laravel-compact-and-with – Bugfixer

+0

我的猜测是你的''user'查询返回'null',请尝试使用'firstOrFail()'代替。或者,您可以键入这些参数并使用Laravel的路由绑定https://laravel.com/docs/5.5/routing#implicit-binding – morph

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

它只是对我的作品完美地使用。

试试这个:

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

尝试这种在通过去除紧凑,并通过与

->with('user',$user)