Yii2忽略第一个数据库结果

时间:2015-11-12 14:37:03

标签: database activerecord yii2

有没有办法在查询中忽略Yii2中的第一个结果记录?我有一个代表客户的数字列表。出于设计目的,我不得不分别查询第一条记录,但现在我重复了它。我的任务是如何在Yii2中查询忽略第一个结果?

此致 的Gabor

第二个查找是我需要忽略第一个结果的查询: 公共功能actionGeneratePage(){

public function actionGeneratePage(){

    $behivott = Sorszam::find()->with('ablak')
        ->orderBy(['behivas_datum' => SORT_DESC])
        ->limit(1)
        ->all();
    $sorszamok = Sorszam::find()->with('ablak')
        ->orderBy(['behivas_datum' => SORT_DESC])
        ->limit(4)
        ->all();
    $reklam = Reklam::find()->all();

    return $this->render('generatePage', [
        'sorszamok' => $sorszamok,
        'reklam'    => $reklam,
        'behivott'  => $behivott,
    ]);
}    

1 个答案:

答案 0 :(得分:2)

您使用offset()跳过第一条记录:

$sorszamok = Sorszam::find()->with('ablak')
    ->orderBy(['behivas_datum' => SORT_DESC])
    ->limit(4)
    ->offset(1)
    ->all();

此外,您可以使用单个查询同时使用array_shift获取$behivott$sorszamok

$sorszamok = Sorszam::find()->with('ablak')
    ->orderBy(['behivas_datum' => SORT_DESC])
    ->limit(5)
    ->all();

$behivott = array_shift($sorszamok);