laravel 4 - como limitar (tomar e saltar) para Eloquent ORM?

TL; DR

Você pode limitar uma consulta Eloquent ORM como usartake() eskip() para que a consulta mysql resultante também seja limitada e não precise retornar o conjunto de dados inteiro?

Se sim, como você modificaria:

$test = User::find(1)->games->toArray();

Incluirlimit 3 offset 2?

Tabelas:
users       games           userGames
-- id       -- id           -- user_id
-- name     -- name         -- game_id
            -- steam_id
Modelos:
class User extends Eloquent {
    public function games() {
        return $this->belongsToMany('Game', 'userGames', 'user_id', 'game_id');
    }
}

class Game extends Eloquent {
    public function users() {
        return $this->belongsToMany('User', 'userGames', 'user_id', 'game_id');
    }
}
Limite no Construtor de Consultas

Usando o Laravel regularConstrutor de Consultas Eu posso pegar tudogames que pertencem auser de id 1 e limite o resultado comtake() eskip():

$test = DB::table('games')
    ->join('userGames', 'userGames.game_id', '=', 'games.id')
    ->where('userGames.user_id', '=', '1')->take(3)->skip(2)->get();

Ao ouvir oilluminate.query evento eu posso ver que a consulta gerada por isso é:

select * from `games`
inner join `userGames`
on `userGames`.`game_id` = `games`.`id`
where `userGames`.`user_id` = ?
limit 3 offset 2
Limite em Eloquent ORM

Quando tento recriar a mesma consulta com o Eloquent:

$test = User::find(1)->games->take(2)->toArray();

Sou capaz de usartake mas adicionandoskip causa um erro. Além disso, a consulta resultante não contém realmente o limite:

select `games`.*, `userGames`.`user_id` as `pivot_user_id`,
`userGames`.`game_id` as `pivot_game_id` from `games`
inner join `userGames`
on `games`.`id` = `userGames`.`game_id`
where `userGames`.`user_id` = ?

Portanto, parece que todo o resultado está sendo consultado primeiro, o que não é ideal quando se lida com grandes conjuntos de dados.

Questão:

É possível limitar uma consulta Eloquent ORM para que no nível MYSQL Query também limite o resultado, equivalente alimit 3 offset 2?

questionAnswers(1)

yourAnswerToTheQuestion