我有以下查詢選擇一個特定的領域:Laravel MySQL的內部聯接,也從另一個表
Ratings::join('users', 'movieratings.rated_by', '=', 'users.usr_id')
->where('rated_on', $movieId)
->orderBy('rated_at', 'desc')
->select('comment', 'rating', 'rated_as', 'rated_at', 'username')
->paginate(20);
這將讓所有特定影片的反饋評級。 但我有另一張表,其中包含特定電影電影的總評分和差評,唯一的問題是我無法同時查詢該表。
如果我做的另一個查詢我就簡單的寫:Movie::where('movie_id', $movieId)->select('total_good_ratings', 'total_bad_ratings')->get();
這將輸出例如「22,15」但有可能只從一個特定的行獲取兩列然後做之間的內部連接兩個表和分頁的結果?
感謝
爲什麼不使用普通的Eloquent關係而不是聯接?這種方式更容易。 – apokryfos
@apokryfos主要是因爲我不確定當我調用一些laravels輔助函數時會發生什麼。只要他們在大多數時間安全,我發現編寫原始sql更容易 – user2722667