代码之家  ›  专栏  ›  技术社区  ›  ajile

如何从条令表中获取行数

  •  1
  • ajile  · 技术社区  · 15 年前

    我编写了通用脚本来获取条令表模型中的所有行,但如果行数量太大,我会得到异常:

    Cannot define NULL as part of query when defining 'offset'.
    

    运行脚本:

    $table = new JV_Model_StoreOrder();
    $this->data['list'] = $table->getTable()->findAll()->toArray();
    

    我从上面的错误中了解到,这是由于表中有大量条目(>20000)。所以我决定制作一个分页器来打破100页的记录。

    你能帮我吗,我怎么能做这样的事:

    ...
    $total_amount = $table->getTable()->count();
    $this->data['list'] = $table->getTable()->offset(0)->limit(100)
    ->findAll()->toArray();
    ...
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Gordon Haim Evgi    15 年前

    教义有它自己的分页部分:

    条令手册示例:

    // Defining initial variables
    $currentPage = 1;
    $resultsPerPage = 50;
    
    // Creating pager object
    $pager = new Doctrine_Pager(
          Doctrine_Query::create()
                ->from( 'User u' )
                ->leftJoin( 'u.Group g' )
                ->orderby( 'u.username ASC' ),
          $currentPage, // Current page of request
          $resultsPerPage // (Optional) Number of results per page. Default is 25
    );
    
    推荐文章