首页 > 解决方案 > 如何在前端显示一个表的 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

标签: laravelvoyager

解决方案


因此,就像@Tpojka 评论的那样,您可以在初始化课程时立即加载关系,$co = App\Course::with('teachers')->get();之后您不需要为该课程的教师再次不必要地调用您的数据库。您可以通过简单地调用$teachers = $co->teachers;这里获得该课程的所有教师的集合 $teachers 现在是一个 laravel 集合,您可以简单地在客户端循环遍历它并显示有关您要显示的教师的信息。我希望这有帮助。

祝你好运,编码愉快。:)


推荐阅读