路由到视图而不传递变量 - laravel

时间:2016-06-29 20:26:42

标签: php laravel

我是Laravel的新手。 在question.blade视图中,我从控制器接收两个变量,如下所示:

  1. @foreach($ answer as $ answers)
  2. {{$后>身体}}

  3. 有时我希望被路由到这个问题。视图但不传递一个或两个变量。 我注意到,如果我想要通常链接到此视图以查看其内容,我收到此错误:

    未定义变量:answer(查看:D:\ wamp \ www \ xxxxxxx \ resources \ views \ Question.blade.php)

    当用户通过特定的控制器=>方法路由时,是否有办法告诉刀片服务器只预期变量,而当用户通过其他方法路由时不能预期变量?

    我希望这很清楚:)

2 个答案:

答案 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

最好给变量或数组空值以避免出于任何原因的错误。