如何解决"未定义的变量"当我进入我的节目视图时,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
答案 0 :(得分:0)
返回视图时,请不要忘记将$questionnaires
传递给它:
return view('some.view', compact('questionnaires'));
另外,请务必查看null
或empty
的<$ 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