我正在使用 Laravel 5.1。
我有三张 table 。
- 电影
- 视频
- 视频类别
用户可以创建一部电影并添加多个视频,但每个视频都应属于任何一个类别(例如制作视频、预告片视频、电影事件)。
现在我想通过传递电影 ID 来获取每个视频的所有电影、视频和视频类别。
表结构
电影表
filmID | filmName
-----------------
1 | Film 1
2 | Film 2
视频表
videoID | filmId | catID | videoURL
-----------------------------------
1 | 1 | cat1 | URL 1
2 | 1 | cat2 | URL 2
视频分类表
catID | category
--------------------
cat1 | Trailer
cat2 | Making
cat3 | Events
我可以通过 FilmID 获取所有视频
{
filmId: "filmName",
filmName: "Film Name",
coverPhoto: "image URL",
created_at: "2015-06-28 06:35:26",
updated_at: "2015-06-28 06:35:45",
videos: [
{
id: 7,
filmId: "filmID",
videoCategory: "trailer",
videoUrl: "h41Jb29P4",
created_at: "2015-06-28 11:40:22",
updated_at: "2015-06-28 11:40:22"
}
]
}
但是我如何获得视频类别以及此输出。像这样
{
filmId: "filmName",
filmName: "Film Name",
coverPhoto: "image URL",
created_at: "2015-06-28 06:35:26",
updated_at: "2015-06-28 06:35:45",
videos: [
{
id: 7,
filmId: "filmID",
videoCategory: "trailer",
videoUrl: "h41Jb29P4",
created_at: "2015-06-28 11:40:22",
updated_at: "2015-06-28 11:40:22"
videoCategory: [
{
videoCategoryId: "1",
videoCategoryName: "Trailer"
}
]
}
]
}
有没有办法在 PHP 中不传递多个查询并合并?
请任何人帮助我。
最佳答案
是的,我自己找到了答案。我在 Laravel 中使用了 Nested Eager loading Concept
关于php - 如何使子表访问另一个表 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31100793/