无法从控制器显示刀片模板中的变量

时间:2017-08-02 20:37:02

标签: php laravel laravel-blade

我无法弄清楚如何在laravel的刀片模板中显示路径名称。请在下面找到示例代码。谢谢。

来自控制器(StaffsController.php)

public function index()
{
    $thisRoute = Route::current()->uri();
    return view('staff.list')>with(compact('thisRoute'));
}

刀片:

{{ $thisRoute }}

这是var_dump

/home/vagrant/Code/spark/app/Http/Controllers/StaffsController.php:20:string 'staffs' (length=6)

错误:

(1/1) UnexpectedValueException
The Response content must be a string or object implementing __toString(), "boolean" given.

当我将控制器中的代码更改为:

public function index()
{
    $thisRoute = Route::current()->uri();
    return dd($thisRoute);

}

我得到"员工"作为输出是正确的,这是来自转储的字符串,对吗?

2 个答案:

答案 0 :(得分:0)

将您的return语句更改为:

return view('staff.list', compact('thisRoute')); 

如果您使用laravel 5.3或更高版本,您可以获得如下路线名称:

Route::currentRouteName();

有了这个,你真的不必将它从控制器传递到视图,只需直接从你的刀片视图中使用它:

{{ Route::currentRouteName() }}

答案 1 :(得分:0)

对不起伙计们,我解决了这个问题。我错过了- return view('staff.list')>with(compact('thisRoute'));

将其更改为

return view('staff.list')->with(compact('thisRoute'));

我弄错了。

谢谢