Laravel 5未定义变量:user / Include Controller

时间:2017-12-15 10:22:03

标签: laravel laravel-5

我收到此代码的错误消息:

错误讯息:

Undefined variable: user

代码:

@if($user->VIP == true)<span class="label label-VIP">VIP</span>@endif</span>

我想我必须在我的刀片上包含ProfileController或我该怎么做?

此代码适用于用户个人资料。

由于

3 个答案:

答案 0 :(得分:1)

调用视图时,需要指定参数

在你的控制器类

public function MyFunction(Request $request){
   $myData = "Hello!"
   view('myview',['Text' => $myData ]);
}

或在你的routefile

Route::get('/HelloPage', function () {
    $myData = "Hello!"
    view('myview',['Text' => $myData ]);
}

或使用utl paramiter

Route::get('/HelloPage/{Text}', function ($Text) {
    view('myview',['Text' => $Text]);
}

在你的.blade.php文件上你必须写

echo $Text;

答案 1 :(得分:0)

不太清楚,但你可以在你的控制器中做这样的事情

public function your_function(){
$user = [
"VIP" => true,
]
 return view(your_blade_view)->with('user',$user);
}

只需输入您的视图名称,不要使用“.blade.php”扩展名

答案 2 :(得分:0)

您可以从控制器传递包含视图文件或刀片文件的特定参数。

例如。

public function index(){
  $name = 'foo bar';
  return view('index')->withName($name);
} 

在刀片文件中打印

{{ $name }}

OR

public function index(){
  $data = 'Hello world';
  return \View::make('index')->with('data',  $data);
} 

在刀片文件中打印

{{ $data }}

OR

public function index(){
  return view('index')->with('data', 'hello world');
} 

在刀片文件中打印

{{ $data }}

OR

public function index(){
  return view('index')
        ->with('first_name', 'foo')
        ->with('last_name', 'bar');

} 

在刀片文件中打印

{{ $first_name }}
{{ $last_name }}

OR

public function index(){
    $first_name = 'foo';
    $last_name = 'bar';
    return view('index', compact('first_name', 'last_name'));
}

在刀片文件中打印

{{ $first_name }} 
{{ $last_name }}

OR

public function index(){
  return view('index', [
    'data' => ['hello', 'world', 'welcome']
 ]);
} 

在刀片文件中打印

print_r($data);

OR

public function index(){
  $data = [
        'first_name' => 'foo',
        'last_name' => 'bar'
    ];
    return view('index', compact('data'));
} 

在刀片文件中打印

print_r($data); 
{{ $data['first_name'] }}