如果我运行此代码,它将仅传递数据库的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。您应该能够传递诸如0
,NULL
或FALSE
之类的参数,以便从表中获取所有值。
尝试这样的事情:
// 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/