gpt4 book ai didi

php - Laravel 检索多行数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:02:05 25 4
gpt4 key购买 nike

我有一个三向关系查询。我想为也有电影院的电影安排 session 。

我可以访问传递到参数中的 $id 的电影 ID。我想找到具有该电影 ID 的电影院。

这是我的 Controller :

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 的所有 session )来检索该 session 中具有该电影 ID 的所有行。

我使用了 $query[count]['cinema_id] 但它只会返回一个值,即最后一行的值。我希望它返回所有行的值。我尝试使用 for 循环但没有取得太大成功。

感谢您的帮助!

最佳答案

首先,我假设正在设置以下模式和关系。

| Movie | Cinema | Session   |
| ----- | ------ | --------- |
| id | id | id |
| | | cinema_id |
| | | movie_id |

这就是我如何根据您的声明通过 movie_id 获取正在播放电影的电影院:

我可以访问传递到参数中的 $id 的电影 ID。我想找到具有该电影 ID 的电影院。

public function ticketpage($id)
{
// Get all Cinema which has the Session with the Movie.id
$cinemas = Cinema::whereHas('sessions', function ($query) use ($id) {
$query->where('movie_id', $id);
})->get();

return view('movies/ticketpage/index', [
'cinemas' => $cinemas
]);
}

关于php - Laravel 检索多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39989143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com