#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’, и теперь оно работает.