gpt4 book ai didi

php - Yii CSqlDataProvider 自定义限制

转载 作者:搜寻专家 更新时间:2023-10-31 20:41:04 25 4
gpt4 key购买 nike

有没有办法限制 CSqlDataProvider?例如,当我将 totalItemCount 强制设置为 3 时,不会考虑结果。

$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,
),
));

当我尝试限制查询 LIMIT 3 并评论 totalItemCount 行时,我收到:

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

看来无论我做什么,sql 都会附加 LIMIT 10。

最佳答案

当您使用 CSqlDataProvider 时,您可以限制 sql 中的总项目数。正如 Yii 的官方文档所写:

Like other data providers, CSqlDataProvider also supports sorting and pagination. It does so by modifying the given sql statement with "ORDER BY" and "LIMIT" clauses. You may configure the sort and pagination properties to customize sorting and pagination behaviors.

CSqlDataProvider

所以你可以像下面这样更改你的 sql 来轻松地做到这一点:

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

关于php - Yii CSqlDataProvider 自定义限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com