Пример #1
0
 /**
  * Create a new instance.
  *
  * @param      Criteria $parent The outer class (this is an "inner" class).
  * @param      ColumnMap $column A Column object to help escaping the value
  * @param      mixed $value
  * @param      string $comparison, among ModelCriteria::MODEL_CLAUSE
  * @param      string $clause A simple pseudo-SQL clause, e.g. 'foo.BAR LIKE ?'
  */
 public function __construct(Criteria $outer, $column, $value = null, $comparison = ModelCriteria::MODEL_CLAUSE, $clause, $type = null)
 {
     $this->value = $value;
     if ($column instanceof ColumnMap) {
         $this->column = $column->getName();
         $this->table = $column->getTable()->getName();
     } else {
         $dotPos = strrpos($column, '.');
         if ($dotPos === false) {
             // no dot => aliased column
             $this->table = null;
             $this->column = $column;
         } else {
             $this->table = substr($column, 0, $dotPos);
             $this->column = substr($column, $dotPos + 1, strlen($column));
         }
     }
     $this->comparison = $comparison === null ? Criteria::EQUAL : $comparison;
     $this->clause = $clause;
     $this->type = $type;
     $this->init($outer);
 }
Пример #2
0
 /**
  * Add a pre-created column to this table. It will replace any
  * existing column.
  *
  * @param  \Propel\Runtime\Map\ColumnMap $cmap A ColumnMap.
  * @return \Propel\Runtime\Map\ColumnMap The added column map.
  */
 public function addConfiguredColumn(ColumnMap $cmap)
 {
     $this->columns[$cmap->getName()] = $cmap;
     return $cmap;
 }
 /**
  * @param ColumnMap $columnMap
  * @return bool
  */
 protected function isColumnBehavior(ColumnMap $columnMap)
 {
     foreach ($columnMap->getTable()->getBehaviors() as $name => $params) {
         $columnName = Base::toLower($columnMap->getName());
         switch ($name) {
             case 'nested_set':
                 $columnNames = array($params['left_column'], $params['right_column'], $params['level_column']);
                 if (in_array($columnName, $columnNames)) {
                     return true;
                 }
                 break;
             case 'timestampable':
                 $columnNames = array($params['create_column'], $params['update_column']);
                 if (in_array($columnName, $columnNames)) {
                     return true;
                 }
                 break;
         }
     }
     return false;
 }