首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加where() on with() Adding。

添加where() on with() Adding。
EN

Stack Overflow用户
提问于 2018-06-08 04:30:59
回答 2查看 53关注 0票数 0

我在这里有一个小但复杂的问题,我将尽我所能解释它。

First i有3个型号:CourseStudentQuiz

  • 学员和课程是多对多关系,测验和测验是多对多关系,课程是一对多关系

我有以下问题:

代码语言:javascript
运行
复制
 $course = Course::whereSlug($slug)->first(); // Some Course

 $quizzes = $course->students()->with('quizzes'); // <-- Here lies the problem.

在最后一句话中,我想将此查询编辑为如下所示:

代码语言:javascript
运行
复制
 $quizzes = $course->students()->with('quizzes)->where('course_id', $course->id);

我之所以这样做,是因为我只想抓取与Student Course 模型和模型相关的测验。

向您提供完整的,之后我循环遍历vue组件中的$students变量,如下所示:

代码语言:javascript
运行
复制
<div v-for="student in students"></div>

我使用Student模型进行循环,因为我还检索了测验以外的不同属性。

但当然,当我像上面的查询一样执行时,我最终检索了所有course_id = $course_id的学生的所有测验。

所需的

我想要过滤结果,以获得学生的测验,只有当他们有一个course_id,无论当前课程的id是什么。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档