0
我想改寫這個SQL來laravel 4查詢生成器與MAX()
SELECT
*
FROM
SolutionFile
WHERE
SolutionFile.group_id = $group_id and
version = (
SELECT
max(s1.version)
FROM
SolutionFile s1
WHERE
s1.group_id = $group_id
)
我寫了這個請求
SolutionFile::where('group_id', '=', $group_id)
->whereRaw('version = (select max(`version`) from files where group_id = ' . $group_id . ')')->get();
這完美的作品,但我想重寫它「laravel方式「沒有whereRaw。 我試過這個請求
SolutionFile::where('group_id', '=', $group_id)
->where(function($query) use($group_id) {
return $query->where('version', '=', function() use($group_id) {
return SolutionFile::where('group_id', '=', $group_id)->max('version');
});
});
但它返回一個空集。
有什麼方法可以重寫嗎?我上次請求在哪裏出錯?