如何在前端显示表的“具有很多”关系?

时间:2019-04-01 00:24:43

标签: laravel voyager

使用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

1 个答案:

答案 0 :(得分:1)

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

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