我遇到了问题。我有两个独立的数据库,一个用于电影,另一个用于追随者。这样电影可以有特定的电影数据(标题,图像,导演)等,然后我有一个跟随表,以便用户可以关注电影。基本上这只是一个交叉表,它所拥有的只有id,userID,filmID。这通常用于如果用户进入电影页面,它检查是否存在记录,如果存在,则检查x,y,z。
现在在用户页面上,我试图列出他们关注的所有内容。所以目前我可以说。
$following = Follow::where('userId', '=', $user->id)->orderBy('created_at', 'DESC')->get();
这将返回用户关注的所有内容。然而我的问题是我不想显示电影ID,我想显示图片,标题,导演等。然而,这些信息在电影表中。那么我怎么能说一个获得所有Follow实例的调用,但也抓住附加到它的电影行。这样我就可以了。 echo $ following->标题,它将显示电影标题。感谢
答案 0 :(得分:0)
这就是我最终解决它的方法,这允许$ myquery->属性的相同过程,而不是超级复杂。
$followingUsers = Follow::where('userId','=', $user->id)->get();
$followingFilms = Follow::where('userId','=', $user->id)->get();
$followedFilms = new stdClass();
$i = 0;
foreach ($followingFilms as $follow)
{
$followedFilm = new stdClass();
$film = Film::where('id','=', $follow->filmId)->first();
$followedFilm->title = $film->title;
$followedFilm->coverUrl = $film->image;
$followedFilm->slug = $film->slug;
$followedFilm->id = $film->id;
$followedFilms->$i = $followedFilm;
$i++;
}
这将获取下表的每个对象,发出一个sql请求来获取信息,然后将它们全部编译成对象$ followFilms。