本文整理汇总了PHP中DBManager::limitQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP DBManager::limitQuery方法的具体用法?PHP DBManager::limitQuery怎么用?PHP DBManager::limitQuery使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DBManager
的用法示例。
在下文中一共展示了DBManager::limitQuery方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
/**
* Constructs a select query and fetch 1 row using this query, and then process the row
*
* Internal function, do not override.
* @param array @fields_array array of name value pairs used to construct query.
* @param boolean $encode Optional, default true, encode fetched data.
* @param boolean $deleted Optional, default true, if set to false deleted filter will not be added.
* @return object Instance of this bean with fetched data.
*/
function retrieve_by_string_fields($fields_array, $encode = true, $deleted = true)
{
$where_clause = $this->get_where($fields_array, $deleted);
$custom_join = $this->getCustomJoin();
$query = "SELECT {$this->table_name}.*" . $custom_join['select'] . " FROM {$this->table_name} " . $custom_join['join'];
$query .= " {$where_clause}";
$GLOBALS['log']->debug("Retrieve {$this->object_name}: " . $query);
//requireSingleResult has been deprecated.
//$result = $this->db->requireSingleResult($query, true, "Retrieving record $where_clause:");
$result = $this->db->limitQuery($query, 0, 1, true, "Retrieving record {$where_clause}:");
if (empty($result)) {
return null;
}
$row = $this->db->fetchByAssoc($result, $encode);
if (empty($row)) {
return null;
}
// Removed getRowCount-if-clause earlier and insert duplicates_found here as it seems that we have found something
// if we didn't return null in the previous clause.
$this->duplicates_found = true;
$row = $this->convertRow($row);
$this->fetched_row = $row;
$this->fromArray($row);
$this->is_updated_dependent_fields = false;
$this->fill_in_additional_detail_fields();
return $this;
}
示例2: getQuery
/**
* Get query for retrieving beans from this link
* @param array $params
* optional parameters. Possible Values;
* 'return_as_array': returns the query broken into
* @return String/Array query to grab just ids for this relationship
*/
public function getQuery($params = array())
{
$query_array['select'] = "SELECT DISTINCT emails.* ";
$query_array['from'] = "FROM emails ";
$query_array['join'] = $this->getEmailsJoin();
$deleted = !empty($params['deleted']) ? 1 : 0;
$query_array['where'] = " WHERE emails.deleted={$deleted} ";
// Add any optional where clause
if (!empty($params['where'])) {
$query_array['where'] .= " AND ({$params['where']}) ";
}
if (!empty($params['enforce_teams'])) {
$seed = BeanFactory::getBean($this->getRelatedModuleName());
$seed->addVisibilityFrom($query_array['join']);
$seed->addVisibilityWhere($query_array['where']);
}
if (!empty($params['return_as_array'])) {
return $query_array;
}
$query = $query_array['select'] . $query_array['from'] . $query_array['join'] . $query_array['where'];
if (!empty($params['orderby'])) {
$query .= "ORDER BY {$params['orderby']}";
}
if (!empty($params['limit']) && $params['limit'] > 0) {
$offset = isset($params['offset']) ? $params['offset'] : 0;
$query = $this->db->limitQuery($query, $offset, $params['limit'], false, "", false);
}
return $query;
}
示例3: disabledLimitQuery
public function disabledLimitQuery()
{
$beanIds = $this->_createRecords(5);
$_REQUEST['module'] = 'contacts';
$result = $this->_db->limitQuery("SELECT id From contacts where last_name = 'foobar'", 1, 3);
if ($this->_db instanceof MysqliManager) {
$this->assertInstanceOf('Mysqli_result', $result);
} else {
$this->assertTrue(is_resource($result));
}
while ($row = $this->_db->fetchByAssoc($result)) {
if ($row['id'][0] > 3 || $row['id'][0] < 0) {
$this->assertFalse(in_array($row['id'], $beanIds), "Found {$row['id']} in error");
} else {
$this->assertTrue(in_array($row['id'], $beanIds), "Didn't find {$row['id']}");
}
}
unset($_REQUEST['module']);
$this->_removeRecords($beanIds);
}
示例4:
function execute_query($query_name = 'query', $result_name = 'result', $row_count_name = 'row_count', $row_start_name = 'row_start', $row_end_name = 'row_end', $limit = false)
{
// FIXME: needs DB-independent code here
if ($limit) {
$start_offset = $this->report_offset;
if (!$this->db->supports('select_rows')) {
if ($start_offset > 0) {
$start_offset++;
}
}
$this->{$result_name} = $this->db->limitQuery($this->{$query_name}, $start_offset, $this->report_max, true, "Error executing query ");
} else {
$this->{$result_name} = $this->db->query($this->{$query_name}, true, "Error executing query ");
}
if (!empty($row_count_name) && empty($this->{$row_count_name})) {
$this->{$row_count_name} = $this->report_offset;
$this->{$row_end_name} = $this->report_max;
if ($limit && $this->total_count < $this->{$row_end_name} + $this->{$row_count_name}) {
$this->{$row_end_name} = $this->total_count - $this->{$row_count_name};
}
if ($this->{$row_count_name} > 0) {
$this->{$row_start_name} = 1;
}
}
}