laravel - 如何在前端显示一个表的 Has Many 关系?
问题描述
使用 Laravel + Voyager,我有一个“有很多”的关系:
课程有很多老师。
在后端一切都很好,但是如果我尝试在前端获取信息,我只会得到表中的值,而不是关系,所以输出类似于:
0
id 1
teachers_id null
name "Math"
1
id 2
teachers_id null
name "English"
网络路由中的当前代码:
Route::get('/course', function () {
$co= App\Course::all();
return $co;
});
我怎样才能得到正确的输出?
teachers_id Xav, Titus
解决方案
因此,就像@Tpojka 评论的那样,您可以在初始化课程时立即加载关系,$co = App\Course::with('teachers')->get();
之后您不需要为该课程的教师再次不必要地调用您的数据库。您可以通过简单地调用$teachers = $co->teachers;
这里获得该课程的所有教师的集合 $teachers 现在是一个 laravel 集合,您可以简单地在客户端循环遍历它并显示有关您要显示的教师的信息。我希望这有帮助。
祝你好运,编码愉快。:)
推荐阅读
- svg - 画两条线,但我需要一条
- amazon-web-services - 如何将 AWS IAM 角色传递给 docker-in-docker 容器
- django - 为什么我在这里收到 PartialCredentialsError
- c# - 如何将枚举绑定到 ComboBox 并在 C# 中隐藏某个值
- c# - 如何转换 XPathEvaluate 的返回值?
- python - 如何使用 matplotlib 绘制更多 10k 点?
- javascript - 从另一个集合中获取数据 MongoDB 聚合 $lookup
- regex - 与字符串中的 sed 正则表达式匹配
- javascript - 如何在 CK Editor 5 中过滤内容
- javascript - React.js 在迭代时将列表项传递给数据库