2
我想要選擇與MAX一樣的列數。原始查詢將如下所示:SELECT users.id, ..., MAX(ur.rank) AS rank
但我無法弄清楚如何使用Laravel提供的查詢生成器在Eloquent中執行此操作。Laravel雄辯 - 選擇MAX與其他列
這是我的嘗試:
$user = User::join('users_ranks AS ur', function($join) {
$join ->on('ur.uid', '=', 'users.id');
})
->where('users.id', '=', 7)
->groupBy('users.id')
->first(['users.id', 'users.username', 'MAX(ur.rank) AS rank']);
我根本無法弄明白。我想要實現的是我選擇users.id = 7的用戶,並且我想選擇users_ranks中的最高級別,其中的users_ranks.uid = users.id。
有人告訴我,當處理大型結果集時避免使用子查詢,它可以顯着減慢速度。
任何人都可以指向正確的方向嗎?謝謝。
查詢構建器是否允許您沿'SELECT MAX(等級)FROM users_ranks WHERE uid = 7'行創建某些內容?只要做兩個查詢? – Luke