Class: Doctrine_Expression_Driver

Source Location: /Doctrine/Expression/Driver.php

Class Doctrine_Expression_Driver

Class Overview

Doctrine_Expression_Driver

Located in /Doctrine/Expression/Driver.php [line 33]

Doctrine_Connection_Module
   |
   --Doctrine_Expression_Driver
Author(s): Information Tags:
Version:  $Revision$
Link:  www.phpdoctrine.com
Since:  1.0
License:  LGPL

Methods

[ Top ]
Direct descendents
Child Class Description
Doctrine_Expression_Firebird Doctrine_Expression_Firebird
Doctrine_Expression_Mock Doctrine_Expression_Mock Mock driver that is used for testing purposes
Doctrine_Expression_Mssql Doctrine_Expression_Mssql
Doctrine_Expression_Mysql Doctrine_Expression_Mysql
Doctrine_Expression_Oracle Doctrine_Expression_Sqlite
Doctrine_Expression_Pgsql Doctrine_Expression_Pgsql
Doctrine_Expression_Sqlite Doctrine_Expression_Sqlite

[ Top ]
Inherited Properties, Constants, and Methods
Inherited Properties Inherited Methods Inherited Constants

Inherited From Doctrine_Connection_Module

Doctrine_Connection_Module::$conn
Doctrine_Connection_Module::$moduleName

Inherited From Doctrine_Connection_Module

Doctrine_Connection_Module::__construct()
Doctrine_Connection_Module::getConnection()
getConnection returns the connection object this module uses
Doctrine_Connection_Module::getModuleName()
getModuleName returns the name of this module

[ Top ]
Method Summary
string   acos()   returns arcus cosine SQL string
string   add()   Returns the SQL to add values or expressions together.
string   avg()   Returns the average value of a column
string   basicMath()   Returns the SQL to perform the same mathematical operation over an array of values or expressions.
string   between()   Returns SQL that checks if an expression evaluates to a value between two values.
void   concat()   Returns a series of strings concatinated
string   count()   Returns the number of rows (without a NULL value) of a column
string   div()   Returns the SQL to divide values or expressions by eachother.
string   eq()   Returns the SQL to check if two values are equal.
void   getIdentifier()  
void   getIdentifiers()  
string   gt()   Returns the SQL to check if one value is greater than another value.
string   gte()   Returns the SQL to check if one value is greater than or equal to another value.
string   guid()   Returns global unique identifier
string   in()   Returns the SQL to check if a value is one in a set of given values..
string   isNotNull()   Returns SQL that checks if a expression is not null.
string   isNull()   Returns SQL that checks if a expression is null.
string   length()   Returns the length of a text field.
integer   locate()   locate returns the position of the first occurrence of substring $substr in string $str
string   lower()   lower Returns the string $str with all characters changed to lowercase according to the current character set mapping.
string   lt()   Returns the SQL to check if one value is less than another value.
string   lte()   Returns the SQL to check if one value is less than or equal to another value.
string   ltrim()   ltrim returns the string $str with leading space characters removed
string   max()   Returns the highest value of a column
string   md5()   Returns the md5 sum of a field.
string   min()   Returns the lowest value of a column
string   mod()   Returns the remainder of the division operation $expression1 / $expression2.
string   mul()   Returns the SQL to multiply values or expressions by eachother.
string   neq()   Returns the SQL to check if two values are unequal.
string   not()   Returns the SQL for a logical not.
string   now()   Returns the current system date.
string   regexp()   regexp returns the regular expression operator
string   round()   Rounds a numeric field to the number of decimals specified.
string   rtrim()   rtrim returns the string $str with proceeding space characters removed
string   soundex()   soundex Returns a string to call a function to compute the soundex encoding of a string
string   sub()   Returns the SQL to subtract values or expressions from eachother.
string   substring()   return string to call a function to get a substring inside an SQL statement
string   sum()   Returns the total sum of a column
string   trim()   trim returns the string $str with leading and proceeding space characters removed
string   upper()   upper Returns the string $str with all characters changed to uppercase according to the current character set mapping.
void   __call()   __call

[ Top ]
Properties
Methods
acos  [line 695]

  string acos( $value  )

returns arcus cosine SQL string

Parameters:
   $value: 

API Tags:
Access:  public


[ Top ]
add  [line 365]

  string add( $args  )

Returns the SQL to add values or expressions together.

add() accepts an arbitrary number of parameters. Each parameter must contain a value or an expression or an array with values or expressions.

Example:

  1.  $q new Doctrine_Query();
  2.  $e $q->expr;
  3.  
  4.  $q->select('u.*')
  5.    ->from('User u')
  6.    ->where($e->eq($e->add('id'2)12));

Parameters:
string|array(string)   $args: 

API Tags:
Return:  an expression
Access:  public


[ Top ]
avg  [line 59]

  string avg( string $column  )

Returns the average value of a column

Parameters:
string   $column:  the column to use

API Tags:
Return:  generated sql including an AVG aggregate function
Access:  public


[ Top ]
basicMath  [line 333]

  string basicMath( string $type, $args  )

Returns the SQL to perform the same mathematical operation over an array of values or expressions.

basicMath() accepts an arbitrary number of parameters. Each parameter must contain a value or an expression or an array with values or expressions.

Parameters:
string   $type:  the type of operation, can be '+', '-', '*' or '/'.
string|array(string)   $args: 

API Tags:
Return:  an expression
Access:  private


[ Top ]
between  [line 674]

  string between( string $expression, string $value1, string $value2  )

Returns SQL that checks if an expression evaluates to a value between two values.

The parameter $expression is checked if it is between $value1 and $value2.

Note: There is a slight difference in the way BETWEEN works on some databases. http://www.w3schools.com/sql/sql_between.asp. If you want complete database independence you should avoid using between().

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->between('id'15));

Parameters:
string   $expression:  the value to compare to
string   $value1:  the lower value to compare with
string   $value2:  the higher value to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
concat  [line 297]

  void concat( string|array(string) 0  )

Returns a series of strings concatinated

concat() accepts an arbitrary number of parameters. Each parameter must contain an expression or an array with expressions.

Parameters:
string|array(string)   0:  strings that will be concatinated.

API Tags:
Access:  public


Redefined in descendants as:

[ Top ]
count  [line 74]

  string count( string|integer $column  )

Returns the number of rows (without a NULL value) of a column

If a '*' is used instead of a column the number of selected rows is returned.

Parameters:
string|integer   $column:  the column to use

API Tags:
Return:  generated sql including a COUNT aggregate function
Access:  public


[ Top ]
div  [line 440]

  string div( $args  )

Returns the SQL to divide values or expressions by eachother.

divide() accepts an arbitrary number of parameters. Each parameter must contain a value or an expression or an array with values or expressions.

Example:

  1.  $q new Doctrine_Query();
  2.  $e $q->expr;
  3.  
  4.  $q->select('u.*')
  5.    ->from('User u')
  6.    ->where($e->eq($e->div('id'2)12));

Parameters:
string|array(string)   $args: 

API Tags:
Return:  an expression
Access:  public


[ Top ]
eq  [line 460]

  string eq( string $value1, string $value2  )

Returns the SQL to check if two values are equal.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->eq('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
getIdentifier  [line 35]

  void getIdentifier( $column  )

Parameters:
   $column: 

API Tags:
Access:  public


[ Top ]
getIdentifiers  [line 39]

  void getIdentifiers( $columns  )

Parameters:
   $columns: 

API Tags:
Access:  public


[ Top ]
gt  [line 504]

  string gt( string $value1, string $value2  )

Returns the SQL to check if one value is greater than another value.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->gt('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
gte  [line 527]

  string gte( string $value1, string $value2  )

Returns the SQL to check if one value is greater than or equal to another value.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->gte('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
guid  [line 686]

  string guid( )

Returns global unique identifier


API Tags:
Return:  to get global unique identifier
Access:  public


Redefined in descendants as:

[ Top ]
in  [line 600]

  string in( string $column, string|array(string) $values  )

Returns the SQL to check if a value is one in a set of given values..

in() accepts an arbitrary number of parameters. The first parameter must always specify the value that should be matched against. Successive must contain a logical expression or an array with logical expressions. These expressions will be matched against the first parameter.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->in'id'array(1,2,3)));

Parameters:
string   $column:  the value that should be matched against
string|array(string)   $values:  values that will be matched against $column

API Tags:
Return:  logical expression
Access:  public


[ Top ]
isNotNull  [line 646]

  string isNotNull( string $expression  )

Returns SQL that checks if a expression is not null.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->isNotNull('id'));

Parameters:
string   $expression:  the expression that should be compared to null

API Tags:
Return:  logical expression
Access:  public


[ Top ]
isNull  [line 627]

  string isNull( string $expression  )

Returns SQL that checks if a expression is null.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->isNull('id'));

Parameters:
string   $expression:  the expression that should be compared to null

API Tags:
Return:  logical expression
Access:  public


[ Top ]
length  [line 138]

  string length( $column, string $expression1, string $expression2  )

Returns the length of a text field.

Parameters:
string   $expression1: 
string   $expression2: 
   $column: 

API Tags:
Access:  public


[ Top ]
locate  [line 240]

  integer locate( string $str, string $substr  )

locate returns the position of the first occurrence of substring $substr in string $str

Parameters:
string   $substr:  literal string to find
string   $str:  literal string

API Tags:
Access:  public


[ Top ]
lower  [line 228]

  string lower( string $str  )

lower Returns the string $str with all characters changed to lowercase according to the current character set mapping.

Parameters:
string   $str:  literal string or column name

API Tags:
Access:  public


[ Top ]
lt  [line 549]

  string lt( string $value1, string $value2  )

Returns the SQL to check if one value is less than another value.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->lt('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
lte  [line 572]

  string lte( string $value1, string $value2  )

Returns the SQL to check if one value is less than or equal to another value.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->lte('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
ltrim  [line 204]

  string ltrim( string $str  )

ltrim returns the string $str with leading space characters removed

Parameters:
string   $str:  literal string or column name

API Tags:
Access:  public


[ Top ]
max  [line 86]

  string max( string $column  )

Returns the highest value of a column

Parameters:
string   $column:  the column to use

API Tags:
Return:  generated sql including a MAX aggregate function
Access:  public


[ Top ]
md5  [line 125]

  string md5( $column  )

Returns the md5 sum of a field.

Note: Not SQL92, but common functionality

Parameters:
   $column: 

API Tags:
Access:  public


Redefined in descendants as:

[ Top ]
min  [line 98]

  string min( string $column  )

Returns the lowest value of a column

Parameters:
string   $column:  the column to use

API Tags:
Access:  public


[ Top ]
mod  [line 166]

  string mod( string $expression1, string $expression2  )

Returns the remainder of the division operation $expression1 / $expression2.

Parameters:
string   $expression1: 
string   $expression2: 

API Tags:
Access:  public


[ Top ]
mul  [line 415]

  string mul( $args  )

Returns the SQL to multiply values or expressions by eachother.

multiply() accepts an arbitrary number of parameters. Each parameter must contain a value or an expression or an array with values or expressions.

Example:

  1.  $q new Doctrine_Query();
  2.  $e $q->expr;
  3.  
  4.  $q->select('u.*')
  5.    ->from('User u')
  6.    ->where($e->eq($e->mul('id'2)12));

Parameters:
string|array(string)   $args: 

API Tags:
Return:  an expression
Access:  public


[ Top ]
neq  [line 482]

  string neq( string $value1, string $value2  )

Returns the SQL to check if two values are unequal.

Example:

  1.  $q new Doctrine_Query();
  2.  $q->select('u.*')
  3.    ->from('User u')
  4.    ->where($q->expr->neq('id'1));

Parameters:
string   $value1:  logical expression to compare
string   $value2:  logical expression to compare with

API Tags:
Return:  logical expression
Access:  public


[ Top ]
not  [line 316]

  string not( $expression  )

Returns the SQL for a logical not.

Example:

  1.  $q new Doctrine_Query();
  2.  $e $q->expr;
  3.  $q->select('*')->from('table')
  4.    ->where($e->eq('id'$e->not('null'));

Parameters:
   $expression: 

API Tags:
Return:  a logical expression
Access:  public


[ Top ]
now  [line 249]

  string now( )

Returns the current system date.


API Tags:
Access:  public


Redefined in descendants as:

[ Top ]
regexp  [line 49]

  string regexp( )

regexp returns the regular expression operator


API Tags:
Access:  public


Redefined in descendants as:

[ Top ]
round  [line 151]

  string round( $column, [ $decimals = 0], string $expression1, string $expression2  )

Rounds a numeric field to the number of decimals specified.

Parameters:
string   $expression1: 
string   $expression2: 
   $column: 
   $decimals: 

API Tags:
Access:  public


[ Top ]
rtrim  [line 192]

  string rtrim( string $str  )

rtrim returns the string $str with proceeding space characters removed

Parameters:
string   $str:  literal string or column name

API Tags:
Access:  public


[ Top ]
soundex  [line 263]

  string soundex( string $value  )

soundex Returns a string to call a function to compute the soundex encoding of a string

The string "?000" is returned if the argument is NULL.

Parameters:
string   $value: 

API Tags:
Return:  SQL soundex function with given parameter
Access:  public


Redefined in descendants as:

[ Top ]
sub  [line 390]

  string sub( $args  )

Returns the SQL to subtract values or expressions from eachother.

subtract() accepts an arbitrary number of parameters. Each parameter must contain a value or an expression or an array with values or expressions.

Example:

  1.  $q new Doctrine_Query();
  2.  $e $q->expr;
  3.  
  4.  $q->select('u.*')
  5.    ->from('User u')
  6.    ->where($e->eq($e->sub('id'2)12));

Parameters:
string|array(string)   $args: 

API Tags:
Return:  an expression
Access:  public


[ Top ]
substring  [line 279]

  string substring( string $value, $from, [ $len = null], integer $position, integer $length  )

return string to call a function to get a substring inside an SQL statement

Note: Not SQL92, but common functionality.

SQLite only supports the 2 parameter variant of this function

Parameters:
string   $value:  an sql string literal or column name/alias
integer   $position:  where to start the substring portion
integer   $length:  the substring portion length
   $from: 
   $len: 

API Tags:
Return:  SQL substring function with given parameters
Access:  public


Redefined in descendants as:

[ Top ]
sum  [line 110]

  string sum( string $column  )

Returns the total sum of a column

Parameters:
string   $column:  the column to use

API Tags:
Access:  public


[ Top ]
trim  [line 180]

  string trim( string $str  )

trim returns the string $str with leading and proceeding space characters removed

Parameters:
string   $str:  literal string or column name

API Tags:
Access:  public


[ Top ]
upper  [line 216]

  string upper( string $str  )

upper Returns the string $str with all characters changed to uppercase according to the current character set mapping.

Parameters:
string   $str:  literal string or column name

API Tags:
Access:  public


[ Top ]
__call  [line 704]

  void __call( $m, $a  )

__call

for all native RDBMS functions the function name itself is returned

Parameters:
   $m: 
   $a: 

API Tags:
Access:  public


[ Top ]