我是Laravel的新手。 在question.blade视图中,我从控制器接收两个变量,如下所示:
有时我希望被路由到这个问题。视图但不传递一个或两个变量。 我注意到,如果我想要通常链接到此视图以查看其内容,我收到此错误:
未定义变量:answer(查看:D:\ wamp \ www \ xxxxxxx \ resources \ views \ Question.blade.php)
当用户通过特定的控制器=>方法路由时,是否有办法告诉刀片服务器只预期变量,而当用户通过其他方法路由时不能预期变量?
我希望这很清楚:)
答案 0 :(得分:2)
简单的方法是检查是否存在所需的变量:
@if (isset($answers))
@foreach ($answers as $answer)
...
@endforeach
@endif
{{ isset($post) ? $post->body : '' }}
答案 1 :(得分:0)
对于具有可变数据的视图部分,您可以将其分离为部分刀片视图文件。然后你检查它是否存在。或计算数组。
@if(count($array))
<div class="col-xs-12" style="margin: auto;">
@include('partials.myview')
</div>
@endif
最好给变量或数组空值以避免出于任何原因的错误。