Amiro.CMS API Reference
Amiro.Ru / Manual
Loading search...

The DB_Snippet class

• Introduction

Database query snippet.

• Class synopsis

DB_Snippet {
/* Properties */
// Template arguments
protected array $aArgs = array();
// SQL template
protected string $snippet = '';
/* Methods */
// Constructor.
public __construct ( string $snippet ) returns DB_Snippet;
// Returns parsed snippet as string.
public get ( ) returns string;
// Adds imploded array.
public implode ( $aValue, [ bool $asInt = FALSE ] ) returns DB_Snippet;
// Adds plain value.
public plain ( string|int $value ) returns DB_Snippet;
// Adds quoted value.
public q ( string|int $value ) returns DB_Snippet;
}

• Class Details

Contains functionality to construct query snippets having quotes.
  Example:
  •  // PlgAJAXResp::initModel()
  •  $oModelList->addWhereDef(
  •      DB_Query::getSnippet("AND %s = %s")
  •          ->plain($prefix $this->oTableModel->getFieldName('id_page'))
  •          ->q($this->oRequest->get('id_page'))
  •  );
  •  // ~ AND id_page = '....'

• Class Properies

protected array $aArgs

Template arguments

protected string $snippet

SQL template

• Class Methods

// Constructor.
public __construct ( string $snippet ) returns DB_Snippet;
  • string $snippet
    Query snippet having '%s' placeholders
// Returns parsed snippet as string.
public get ( ) returns string;
// Adds imploded array.
public implode ( $aValue, [ bool $asInt = FALSE ] ) returns DB_Snippet;
  • array $aValue
    Argument value containing array
  • bool $asInt
    Implode array having integer values (since 5.14.0)
  Example:
  •  $oQuery->addWhereDef(
  •      DB_Query::getSnippet("AND id IN (%s)")
  •          ->implode(array(123))
  •  );
// Adds plain value.
public plain ( string|int $value ) returns DB_Snippet;
  • string|int $value
    Argument value containing no quotes
Plain value cannot contain any quotes.
  Example:
  •  $oQuery->addWhereDef(
  •      DB_Query::getSnippet("AND %s = 'value'")
  •          ->plain($fieldName)
  •  );
// Adds quoted value.
public q ( string|int $value ) returns DB_Snippet;
  • string|int $value
    Argument value
  Example:
  •  $oQuery->addWhereDef(
  •      DB_Query::getSnippet("AND name = %s")
  •          ->q($exactName)
  •  );