【发布时间】:2018-04-09 18:25:17
【问题描述】:
我在一个 laravel 应用程序中有 3 个模型:1)第 2 课)测验 3)答案(实际上我应该将其命名为 Option)。他们的关系是这样建立的:每节课都有测验,每个测验都有答案。在刀片文件中,我可以访问 $lesson 实例。我想将 $lesson->quizzes 和 $quiz->answers 从 Blade 发送到 VueJS 方法。现在我只能发送测验:
<modal-button color="success" size="small" icon="eye" header="View Quiz" btntxt="View Quiz" @showmodal="onShowViewQuizModal({{ $lesson->quizzes }})">
@include('partials.quizform')
</modal-button>
我在我的 vuejs 方法中捕获发送的测验并将对象数组分配给 vuejs 数据属性:
onShowViewQuizModal(quizzes){
this.quizzes = quizzes;
}
在quizform 部分中,我试图显示这些嵌套的数据集。我有这样的想法:
<div v-for="quiz in quizzes">
<p>@{{ quiz.title }}</p>
<div v-for="answer in quiz.answers">
<p>@{{ answer.title }}</p>
</div>
</div>
只有外部的v-for 可以工作,但内部的v-for 不行,因为quiz.answers 可能是undefined。
我希望你能明白这一点,而且我相信人们一定在某个时候遇到过这种情况。我该如何处理这种情况?
【问题讨论】:
-
在测验模型中,您需要与答案建立关系。在您的 Laravel 控制器方法中执行以下操作: Quiz::with('answers')->get();
标签: javascript laravel vue.js blade