首页 > 解决方案 > laravel 试图提取收到的 id,不能使用它

问题描述

我想要实现的是从 MovieRating 中获得很少的电影 ID。然后在电影中找到这些 id。但我收到一个错误SQLSTATE[HY000]: General error: 25 column index out of range (SQL: select * from "movies" where "id" = 1)

    public function index(){
        $movies = Movie::orderByDesc('id')->paginate(5);
        // <problem>
        $bestMoviesRatings = MovieRating::orderByDesc('average')->with('movie')->pluck('movie_id');
        $bestRatedMovies = Movie::where('id', $bestMoviesRatings)->get();
        // </problem>
        return view('movies/mainMovies', compact('movies', 'bestRatedMovies'));
    }

有人知道如何帮助我吗?谢谢 4 帮助

标签: phplaravelrelationship

解决方案


试试这个,因为我认为你的变量 $bestMoviesRatings 是一个数组。

$bestRatedMovies = Movie::whereIn('id', $bestMoviesRatings)->get();

推荐阅读