getTable() public method

public getTable ( )
コード例 #1
0
 static function toCode(ModelDescriptor $descriptor)
 {
     $classFile = new CodeGenClassFile();
     $class = new CodeGenClass($descriptor->modelClass);
     $class->setExtends('Model');
     $classFile->addClass($class);
     $classDocComment = new CodeGenDocComment();
     $classDocComment->addLine('!Database ' . $descriptor->source);
     $classDocComment->addLine('!Table ' . $descriptor->getTable());
     $class->setDocComment($classDocComment);
     foreach ($descriptor->properties as $prop) {
         $property = new CodeGenProperty($prop->name);
         $columnDocComment = '!Column ';
         if ($prop->isPrimaryKey) {
             $columnDocComment .= 'PrimaryKey, ';
         }
         $columnDocComment .= $prop->type;
         if ($prop->isAutoIncrement) {
             $columnDocComment .= ', AutoIncrement';
         }
         $propertyDocComment = new CodeGenDocComment($columnDocComment);
         $property->setDocComment($propertyDocComment);
         $class->addProperty($property);
     }
     return $classFile->toCode();
 }
コード例 #2
0
 /**
  * Transform a model descriptor to a table descriptor.
  *
  * @param ModelDescriptor $descriptor
  * @return RecessTableDescriptor
  */
 function modelToTableDescriptor(ModelDescriptor $descriptor)
 {
     Library::import('recess.database.pdo.RecessTableDescriptor');
     Library::import('recess.database.pdo.RecessColumnDescriptor');
     $tableDescriptor = new RecessTableDescriptor();
     $tableDescriptor->name = $descriptor->getTable();
     foreach ($descriptor->properties as $property) {
         $tableDescriptor->addColumn($property->name, $property->type, true, $property->isPrimaryKey, array(), $property->isAutoIncrement ? array('autoincrement' => true) : array());
     }
     return $tableDescriptor;
 }
コード例 #3
0
ファイル: Model.class.php プロジェクト: KrisJordan/recess
 /**
  * Return a SqlBuilder object which has set the table and optionally
  * assigned values to columns based on this instances' properties. This is used in
  * insert(), update(), and delete()
  *
  * @param ModelDescriptor $descriptor
  * @param boolean $useAssignment
  * @param boolean $excludePrimaryKey
  * @return SqlBuilder
  */
 protected function assignmentSqlForThisObject(ModelDescriptor $descriptor, $useAssignment = true, $excludePrimaryKey = false)
 {
     $sqlBuilder = new SqlBuilder();
     $sqlBuilder->from($descriptor->getTable());
     if (empty($descriptor->columns)) {
         throw new RecessException('The "' . $descriptor->getTable() . '" table does not appear to exist in your database.', get_defined_vars());
     }
     foreach ($this as $column => $value) {
         if ($excludePrimaryKey && $descriptor->primaryKey == $column) {
             continue;
         }
         if (in_array($column, $descriptor->columns) && isset($value)) {
             if ($useAssignment) {
                 $sqlBuilder->assign($column, $value);
             } else {
                 $sqlBuilder->equal($column, $value);
             }
         }
     }
     return $sqlBuilder;
 }