Yii2限制不起作用

时间:2017-02-15 20:28:16

标签: gridview yii2

我有一个像这样的查询

    ::find()->where(['cdID' => $id])->orderBY(['id'=>SORT_DESC])->limit(5);

我得到的所有记录不仅仅是最后的5个。当我在Netbeans中捕获变量时,我发现一切看起来都是正确设置

$query          
params  array[0]        
*yii\base\Component*_events array[0]        
*yii\base\Component*_behaviors  array[0]        
where   array[1]        
    [cdID]  string  "1" 
limit   integer 5   
orderBy array[1]        
    [id]    integer 3   

但是当它到达GridView时它没有正确显示。这是我的gridview

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'layout'=>"{items}",
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            [
                'attribute'=>'dDate',
                'value'=>function($data){
                    $nDate = date_create($data->dDate);
                    return date_format($nDate,"M d, Y h:iA");
                },
            ],
            [
                'attribute'=>'transType',
                'value'=>function($data){
                    return $data->transTypeDescripts->sCode;
                },
                'contentOptions' => ['class' => 'text-center'],
            ],
            [
                'attribute'=>'ammount',
                'value'=>function($data){
                    return money_format('$%(#10.2n', $data->amount);
                },
                'contentOptions' => ['class' => 'text-right'],
            ],
            [
                'class' => 'yii\grid\ActionColumn',
                'visibleButtons'=>[
                    'delete'=>false,
                    'update'=>false,
                ],
            ],
        ],
    ]); ?>

对于可能发生的事情的任何想法,如果我不需要,我真的不想跨过整个代码库。

2 个答案:

答案 0 :(得分:1)

我必须设置

'pagination' => false,

在我的$ dataProvider中,只获得5个已设置的查询。在这里找到答案

LIMIT is not working in ActiveDataProvider

答案 1 :(得分:0)

你必须在分页中提及..页面大小将定义你需要显示多少条记录..

            'pagination' => [
                'pageSize' => 10
            ],
相关问题