Custom Limit Yii CSqlDataProvider

Is there any way to limit CSqlDataProvider? When I can set totalItemCount to 3, for example, the result is not taken into account.

$count=Yii::app()->db->createCommand('SELECT COUNT(*) FROM tbl_user')->queryScalar();
$sql='SELECT * FROM tbl_user';
$dataProvider=new CSqlDataProvider($sql, array(
  'totalItemCount'=>3,    
  'pagination'=>array(
    'pageSize'=>10,
   ),
));

When I try to limit the LIMIT 3 request and comment on totalItemCount, I get:

CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: ... LIMIT 3 LIMIT 10

It seems like everything I do sql is added using LIMIT 10.

+3
source share
2 answers

As long as you use CSqlDataProvider, you can limit your general positions in your sql. As the official Yii paper wrote:

, CSqlDataProvider . , sql "ORDER BY" "LIMIT". .

CSqlDataProvider

, , sql, :

$sql='SELECT * FROM tbl_user LIMIT 3';
+2

, ; sql, , cpagination LIMIT 10. .

 $sql = 'SELECT * FROM tbl_user LIMIT 3;';
+1

All Articles