使用Propel获取最后5项sql结果

时间:2013-11-19 14:04:20

标签: php mysql sql propel

我想获取搜索操作的最后5项。一个例子:

$quizzes = $user->getQuizs();

现在我想选择最后5个,这可能是推进吗? 我试过 - > getLast(5),但这不正确。

让我说我按照ID排序再次进行30次测验。我想选择最后5个(最高ID为......,这些是最后创建的)。

1 个答案:

答案 0 :(得分:2)

容易腻:

$quizzes = QuizQuery::create()->
    filterByUser($user)->
    orderByCreatedAt(\Criteria::DESC)->
    limit(5)->
    find()
;

这假设您的测验表中有created_at列。如果您愿意,可以将其添加到User模型中:

public function getLastQuizzes($limit = 5)
{
    return QuizQuery::create()->
        filterByUser($this)->
        orderByCreatedAt(\Criteria::DESC)->
        limit($limit)->
        find()
    ;
}