Невозможно отобразить переменную в шаблоне блейда из контроллера

-2

Я не могу понять, как отобразить имя маршрута в шаблоне лезвия ларавеля. Ниже приведен пример кода. Спасибо.

от контроллера (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);

}

Я получаю "staffs" как вывод, который является правильным, который является строкой из дампа, не так ли?

  • 0
    Что вы ожидаете печатать?
  • 0
    Почему в dd вы используете Route::current()->uri() а в первом примере просто Route::current(); ?
Показать ещё 3 комментария
Теги:
laravel-blade

2 ответа

0

Извините, ребята, я решил проблему. Я пропустил - в представлении return view('staff.list')>with(compact('thisRoute')); линии return view('staff.list')>with(compact('thisRoute'));

Изменил

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

Я допустил ошибку.

Спасибо

  • 0
    Вы также можете использовать короткий синтаксис: return view('staff.list', compact('thisRoute'));
  • 0
    @yoeunes спасибо, сэр :)
0

измените свой оператор return следующим образом:

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

если вы используете laravel 5.3 или выше, вы можете получить название маршрута следующим образом:

Route::currentRouteName();

с этим вам действительно не нужно разбирать его с вашего контроллера на вид, просто используйте его прямо с вашего вида блейда:

{{ Route::currentRouteName() }}
  • 0
    извините, приятель, изменил код на $thisRoute = Route::currentRouteName(); return view('staff.list')>with(compact('thisRoute')); но все же получил ту же ошибку
  • 0
    пожалуйста, измените свое заявление о возврате следующим образом: view view ('staff.list', compact ('thisRoute'));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню