我有一个三表关联查询的问题。我想获取一场电影和影院的场次。
我可以通过参数传递的 $id 获取到电影的 id。我想找到播放这部电影的影院。
以下是我的控制器:
public function ticketpage($id)
{
$movie = Movie::find($id);
$cinemas = Cinema::all();
$sessions = Session::all();
$query = Session::where('movie_id', "$id")->get();
$count = count($query)-1;
$cinemaId = $query[$count]['cinema_id'];
$cinemaRow = Cinema::where('id', "$cinemaId")->get();
return view('movies/ticketpage/index')
->with('cinemas', $cinemas)
->with('sessions', $sessions)
->with('movie', $movie)
->with('cinemaRow', $cinemaRow);
}
你可以看到,我不太确定如何使用我的 $query(检索具有该电影ID的所有会话)来检索具有该影院ID的所有行。
我尝试过使用 $query[count]['cinema_id],但它只会返回一个值,即最后一行的值。我希望它能返回所有行的值。我尝试使用 for 循环,但没有取得太大成功。
谢谢您的帮助!
where
修改为whereIn
。例如:$query->whereIn('movie_id', $array_of_movie_ids);
- Mosufy