如果我运行此代码,它将仅传递数据库的6个值。

// Begin building the query.
  $query = db_select('watchdog', 'th')
    ->extend('PagerDefault')
    ->orderBy('wid')
    ->fields('th', array('variables', 'type', 'severity', 'message', 'wid'));


  // Fetch the result set.
  $result = $query  -> execute();


我知道,如果我在代码中添加limit(),我将运行更多值

// Begin building the query.
  $query = db_select('watchdog', 'th')
    ->extend('PagerDefault')
    ->orderBy('wid')
    ->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
    ->limit(2000);

  // Fetch the result set.
  $result = $query  -> execute();


但是我如何在没有此limit()的情况下运行数据库表的所有值?

最佳答案

默认情况下,PagerDefault限制设置为10。您应该能够传递诸如0NULLFALSE之类的参数,以便从表中获取所有值。

尝试这样的事情:

// Begin building the query.
  $query = db_select('watchdog', 'th')
    ->extend('PagerDefault')
    ->orderBy('wid')
    ->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
    ->limit(NULL);

  // Fetch the result set.
  $result = $query  -> execute();


要么:

 // Begin building the query.
      $query = db_select('watchdog', 'th')
        ->extend('PagerDefault')
        ->orderBy('wid')
        ->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
        ->limit(0);

      // Fetch the result set.
      $result = $query  -> execute();


要么:

// Begin building the query.
      $query = db_select('watchdog', 'th')
        ->extend('PagerDefault')
        ->orderBy('wid')
        ->fields('th', array('variables', 'type', 'severity', 'message', 'wid'))
        ->limit(FALSE);

      // Fetch the result set.
      $result = $query  -> execute();

关于php - 传递数据库表的所有值而没有limit(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28942464/

10-10 06:23