[英]Laravel Parameter passing error from controller to view
我想传递参数$ questions进行查看,但是出现以下错误:
ErrorException(E_ERROR)未定义的变量:问题(视图:C:\\ Users \\ Krishan \\ Documents \\ GitHub \\ GroupProject \\ lcurve \\ resources \\ views \\ quizz \\ questions \\ index.blade.php)
这是我的控制器索引功能部分:
public function index()
{
$questions = Question::all();
return view('quizz/questions.index', compact('questions'));
}
这是我观点的一部分:
<tbody>
@if (count($questions_options) > 0)
@foreach ($questions_options as $questions_option)
<tr data-entry-id="{{ $questions_option->id }}">
<td></td>
<td>{{ $questions_option->question->question_text or '' }}</td>
<td>{{ $questions_option->option }}</td>
<td>{{ $questions_option->correct == 1 ? 'Yes' : 'No' }}</td>
<td>
<a href="{{ route('quizz/questions_options.show',[$questions_option->id]) }}" class="btn btn-xs btn-primary">View</a>-->
<!--<a href="{{ route('questions_options.edit',[$questions_option->id]) }}" class="btn btn-xs btn-info">Edit</a>-->
{!! Form::open(array(
'style' => 'display: inline-block;',
'method' => 'DELETE',
'onsubmit' => "return confirm('".trans("quickadmin.are_you_sure")."');",
'route' => ['questions_options.destroy', $questions_option->id])) !!}
{!! Form::submit(trans('quickadmin.delete'), array('class' => 'btn btn-xs btn-danger')) !!}
{!! Form::close() !!}
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="5">no_entries_in_table</td>
</tr>
@endif
</tbody>
其中questions_options
来自哪里? 您正在传递questions
。 所以你的for循环应该是
@if (count($questions) > 0)
@foreach ($questions as $question)
//rest of your code
@endforeach
@endif
您的返回视图部分可以是return view(quizz.questions.index, compact('questions'))
首先,应该显示您提到的错误消息。 错误消息应该是: Undefined variable: questions_options (View:C:\\Users\\Krishan\\Do........
因为您正在传递要查看的questions
,但是正在访问视图中的question_options
。 因此,它应在视图未定义状态下说出question_options
。
此外,您知道您可以避免此计数检查吗? 您可以在以下位置使用laravel的forelse
标签:
@forelse($questions as $question)
//Your table goes here
@empty
<tr>
<td colspan="5">no_entries_in_table</td>
</tr>
@endforelse
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.