如何解决"未定义的变量"当我进入我的节目视图时,laravel上的错误?

时间:2016-05-02 14:47:08

标签: laravel

如何解决"未定义的变量"当我进入我的节目视图时,laravel上的错误?

当我转到我的节目视图网址时,我收到一条错误,上面写着"未定义的变量:问卷"。

我的路线档案:

<?php
/*
This is the file in which the rules for how users will use the application are kept
*/

Route::get('/',function() {
    return view('welcome');
});

Route::auth();

Route::get('/home', 'HomeController@index');

Route::get('/questionnaires/', 'QuestionnairesController@show');

Route::resource('/questionnaires', 'QuestionnairesController');

Route::resource('/questions', 'QuestionsController');

Route::resource('/answers', 'AnswersController');

Route::post('/questionnaires/create', 'QuestionnairesController@create');

我的节目观点:

@extends('layouts.master')

@section('title', $questionnaire->title)

@section('content')
    @foreach($questionnaires as $questionnaire)
        <h1>{{ $questionnaire->title }}</h1>
        <p>{{ $questionnaire->description }}</p>
        <p>{{ $questionnaire->ethics }}</p>

        <a href="{{ route('questionnaires.index') }}" class="btn btn-info">Back to your questionnaires</a>
        <a href="{{ route('questionnaires.edit') }}" class="btn btn-primary">Edit</a>

        {!! Form::open(['method' => 'DELETE', 'route' => ['questionnaires.destroy', $questionnaire->id]]) !!}
            {!! Form::submit('Delete questionnaire', ['class' => 'btn btn-danger']) !!}
        {!! Form::close() !!}
    @endforeach

@endsection

5 个答案:

答案 0 :(得分:0)

返回视图时,请不要忘记将$questionnaires传递给它:

return view('some.view', compact('questionnaires'));

另外,请务必查看nullempty的<$ p}调查问卷:

@if(is_null($questionnaires))
    //do foreach...

@if(!empty($questionnaires))
    //do foreach...

答案 1 :(得分:0)

在负责提交调查问卷的控制器中,您需要传入变量。

return view('questionnaire', [
    'questionnaire' => $questionnaire,
]);

如果您不这样做,则刀片模板不知道该变量是什么。

答案 2 :(得分:0)

你的问题在这里:

@section('title', $questionnaire->title)

您已将$问卷调查到您的观点。但不是$问卷。

答案 3 :(得分:0)

返回视图中的两个变量

return view('some.view', compact('questionnaire', 'questionnaires'));

在控制器中检查变量后

@if(isset($questionnaire->title))

并检查数组

$questionnaire_array= array_filter($questionnaires);
@if(!empty($questionnaire_array))

答案 4 :(得分:0)

@if($questionnaires->count())
@foreach($questionaires as $questionaire)
@section('title', $questionnaire->title)
@section('content')


<h1>{{ $questionnaire->title }}</h1>

<p>{{ $questionnaire->description }}</p>

<p>{{ $questionnaire->ethics }}</p>

   <a href="{{ route('questionnaires.index') }}" class="btn btn-info">Back to your questionnaires</a>
    `<a href="{{ route('questionnaires.edit') }}" class="btn btn-primary">Edit</a>`

    `{!! Form::open(['method' => 'DELETE', 'route' => ['questionnaires.destroy', $questionnaire->id]]) !!}`
        `{!! Form::submit('Delete questionnaire', ['class' => 'btn btn-danger']) !!}`
   `{!! Form::close() !!}`
@endsection
@endforeach
@endif