Doctrine 1.2.4
Doctrine_Query_Check Class Reference

Public Member Functions

 __construct ($table)
 
 getSql ()
 
 getTable ()
 
 parse ($dql)
 
 parseClause ($dql)
 

Detailed Description

Definition at line 33 of file Check.php.

Constructor & Destructor Documentation

Doctrine_Query_Check::__construct (   $table)
Parameters
Doctrine_Table | string$tableDoctrine_Table object

Definition at line 51 of file Check.php.

{
if ( ! ($table instanceof Doctrine_Table)) {
->getCurrentConnection()
->getTable($table);
}
$this->table = $table;
$this->_tokenizer = new Doctrine_Query_Tokenizer();
}

Member Function Documentation

Doctrine_Query_Check::getSql ( )

getSql

returns database specific sql CHECK constraint definition parsed from the given dql CHECK definition

Returns
string

Definition at line 166 of file Check.php.

{
return $this->sql;
}
Doctrine_Query_Check::getTable ( )

getTable returns the table object associated with this object

Returns
Doctrine_Connection

Definition at line 68 of file Check.php.

{
return $this->table;
}
Doctrine_Query_Check::parse (   $dql)

parse

Parameters
string$dqlDQL CHECK constraint definition
Returns
string

Definition at line 79 of file Check.php.

{
$this->sql = $this->parseClause($dql);
}
Doctrine_Query_Check::parseClause (   $dql)

parseClause

Parameters
string$aliascomponent alias
string$fieldthe field name
mixed$valuethe value of the field
Returns
void

Definition at line 92 of file Check.php.

{
$parts = $this->_tokenizer->sqlExplode($dql, ' AND ');
if (count($parts) > 1) {
$ret = array();
foreach ($parts as $part) {
$ret[] = $this->parseSingle($part);
}
$r = implode(' AND ', $ret);
} else {
$parts = $this->_tokenizer->quoteExplode($dql, ' OR ');
if (count($parts) > 1) {
$ret = array();
foreach ($parts as $part) {
$ret[] = $this->parseClause($part);
}
$r = implode(' OR ', $ret);
} else {
$ret = $this->parseSingle($dql);
return $ret;
}
}
return '(' . $r . ')';
}

The documentation for this class was generated from the following file: