Laravel 5.3 не работает синтаксический анализ переменной из контроллера в блейд-представление

#laravel #variables #controller #blade

#laravel #переменные #контроллер #laravel-блейд

Вопрос:

Я не могу заполнить свой блейд переменными из моего контроллера.

Посмотрите на мой контроллер:

 public function formAdd()
{
  return view('restaurant.categoryAdd')->with(['myvar' => 'xxx']);
}
  

На мой взгляд, categoryAdd:

 {{$myvar}}
  

Таким образом, я получил ошибку 500. Но если я изменю свое представление на:

 @if (isset($myvar))
<p>Success!</p>
@endif
  

Ошибка не 500, страница в порядке, но сообщение «Успех!» не возвращается. Это означает, что $myvar не определен. Я тестировал различные коды, но я все еще не могу заполнить свое представление.

Я пытался:

 return view('restaurant.categoryAdd')->with(['myvar' => 'xxx']);

return view('restaurant.categoryAdd')->with('myvar', 'xxx');

return view('restaurant.categoryAdd',['myvar' => 'xxx']);
  

obs: я использую XAMPP, и это единственная проблема, с которой я столкнулся на данный момент.
obs2: проблема не в методе «return view», он просто работает. Проблема в том, что, на мой взгляд, она не получает переменную.

Комментарии:

1. Кажется, все в порядке. Есть ли у вас больше просмотров с camelCase? Возможно, это как-то связано с этим..

2. Я изменил camelcase (categoryAdd на categoryadd), и он просто работает.

3. Спасибо. Я отмечу это как решенное.

Ответ №1:

Итак, попробуйте это:

В вашем контроллере:

 public function formAdd() {
  $variable = 'Hello';
  return view('restaurant.categoryAdd')->with('myvar', $variable);
}
  

На ваш взгляд (если HTML, просто):

 <?php
 print $myvar; 
?>
  

Комментарии:

1. Также попробуйте return View::make('restaurant.categoryAdd')->with('myvar', $variable);

2. Да, в обоих случаях, если я включу журналы ошибок, я получу: Неопределенная переменная: myvar

3. Исключение ErrorException в 79f4f462613468cdd5a62ac56d14026eaddd8cdd.php строка 8: Неопределенная переменная: myvar

4. Исключение ErrorException в 79f4f462613468cdd5a62ac56d14026eaddd8cdd.php строка 8: Неопределенная переменная: myvar (Просмотр: /htdocs/Servido/resources/views/restaurant/categoryList.blade.php )

5. Насколько я вижу, вы не в том блейде. Попробуйте выполнить следующее: return view('restaurant.categoryList')->with('myvar', $variable); Это означает, что в resources / views / есть папка с именем restaurant, в которой есть файл с именем categoryAdd.blade.php это означает resources/views/restaurant/categoryAdd.blade.php , что, однако, ошибка, которую вы опубликовали, находится на categoryList.blade.php и не в categoryAdd.blade.php . Пожалуйста, проверьте представление, которое вы хотите использовать, и укажите это в пути возврата

Ответ №2:

Проблема была в camelcase. Я изменил представление на ‘categoryadd’, и теперь оно работает.