Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将查找限制为CakePHP中的特定数字?_Php_Cakephp - Fatal编程技术网

如何将查找限制为CakePHP中的特定数字?

如何将查找限制为CakePHP中的特定数字?,php,cakephp,Php,Cakephp,我有一个用户模型,它给我最新的用户作为输出。如何将记录限制为只输出200条记录而不是数据库中的所有用户?,find()方法的第二个参数是$params数组 在此数组中传递的一个可能值是limit键。因此,您可以执行以下操作: $users = $this->User->find('all', array('limit' => 200)); 不要使用find()分页 蛋糕分页:打开用户的模型文件并执行以下操作: 您需要更改名为的关系变量中的“limit”属性 var$hasMa

我有一个用户模型,它给我最新的用户作为输出。如何将记录限制为只输出200条记录而不是数据库中的所有用户?

find()
方法的第二个参数是
$params
数组

在此数组中传递的一个可能值是
limit
键。因此,您可以执行以下操作:

$users = $this->User->find('all', array('limit' => 200));
不要使用find()分页


蛋糕分页:

打开用户的模型文件并执行以下操作:

您需要更改名为的关系变量中的“limit”属性

var$hasMany=数组('Abus'=> 数组('className'=>'Abus', “foreignKey”=>“用户id”, “依赖”=>false,“条件” => '', '字段'=>'','顺序'=>'','limit'=>'200','offset' =>'','独占'=>'','finderQuery'=>'', '反查询'=>'')

或者你也可以试试这个

在用户控制器中,将$paginate设置为如下所示

var$paginate=array('limit'=>200)

现在,无论您在哪里使用分页,记录都将被限制为200条。

“我有一个类似数组('limit'=>21,'page'=>1)的方法,可以在一页中分页21个用户。如果我将限制改为200条,那么它只在一页中分页200个用户……在这种情况下,如何进行适当的分页???-匿名2009年5月14日7:22”

是的,正如有人提到的,您可以使用cakePHP分页助手。但在某些情况下,您可能希望自己进行分页,或者只限制每次调用检索的记录数。值得一提的是,我是如何处理这种情况的

例如,假设您希望每页检索一定数量的记录,然后: $start=0;->这是为了从第一个记录开始检索记录。例如,如果你需要说从31号开始,那么$start=30

所以, $start=0; $length=20;//我们将从第一条记录开始检索20条记录

代码将类似于:

// To retrieve a number of Products per page
            $products = $this->Product->find('all', array(
                                            'order' => 'product_number ASC',
                                            'limit' => $start.','.$length,
                                            'recursive' => -1
                                            )
                                        );

你也可以试试这个

$results = $this->Model->find('all', 
       array('limit'=>10, 
             'order'=>array('date DESC')));

Limit*page=200根据您在页面中的舒适视图设置您的值。这可能会有帮助

我有一个类似数组(“限制”=>21,“页面”=>1)的功能,可以在一个页面中分页21个用户。。如果我将限制改为200,那么它只在一个页面中对200个用户进行分页…在这种情况下,如何进行限制以及正确的分页??如果您只想对数据进行分页,请使用内置分页方法,而不是find()。你应该使用
'offset'=>$start,'limit'=>$length
这是最有用的答案,而不是使用'limit'=>'a,b'!谢谢
array(
  'conditions' => array('Model.field' => $thisValue), //array of conditions
  'recursive' => 1, //int
  //array of field names
  'fields' => array('Model.field1', 'DISTINCT Model.field2'),
  //string or array defining order
  'order' => array('Model.created', 'Model.field3 DESC'),
  'group' => array('Model.field'), //fields to GROUP BY
  'limit' => n, //int
  'page' => n, //int
)