Zend_Db_Table_Abstract::createRow PHP Method

createRow() public method

Fetches a new blank row (not from the database).
public createRow ( array $data = [], string $defaultSource = null ) : Zend_Db_Table_Row_Abstract
$data array OPTIONAL data to populate in the new row.
$defaultSource string OPTIONAL flag to force default values into new row
return Zend_Db_Table_Row_Abstract
    public function createRow(array $data = array(), $defaultSource = null)
    {
        $cols = $this->_getCols();
        $defaults = array_combine($cols, array_fill(0, count($cols), null));
        // nothing provided at call-time, take the class value
        if ($defaultSource == null) {
            $defaultSource = $this->_defaultSource;
        }
        if (!in_array($defaultSource, array(self::DEFAULT_CLASS, self::DEFAULT_DB, self::DEFAULT_NONE))) {
            $defaultSource = self::DEFAULT_NONE;
        }
        if ($defaultSource == self::DEFAULT_DB) {
            foreach ($this->_metadata as $metadataName => $metadata) {
                if ($metadata['DEFAULT'] != null && ($metadata['NULLABLE'] !== true || $metadata['NULLABLE'] === true && isset($this->_defaultValues[$metadataName]) && $this->_defaultValues[$metadataName] === true) && !(isset($this->_defaultValues[$metadataName]) && $this->_defaultValues[$metadataName] === false)) {
                    $defaults[$metadataName] = $metadata['DEFAULT'];
                }
            }
        } elseif ($defaultSource == self::DEFAULT_CLASS && $this->_defaultValues) {
            foreach ($this->_defaultValues as $defaultName => $defaultValue) {
                if (array_key_exists($defaultName, $defaults)) {
                    $defaults[$defaultName] = $defaultValue;
                }
            }
        }
        $config = array('table' => $this, 'data' => $defaults, 'readOnly' => false, 'stored' => false);
        $rowClass = $this->getRowClass();
        if (!class_exists($rowClass)) {
            require_once 'Zend/Loader.php';
            Zend_Loader::loadClass($rowClass);
        }
        $row = new $rowClass($config);
        $row->setFromArray($data);
        return $row;
    }

Usage Example

Example #1
0
 /**
  * Populate Row FromEntry
  *
  * @param Postr_Model_Entry $entry
  * @param Zend_Db_Table_Row_Abstract $entryRow
  * @return Zend_Db_Table_Row_Abstract
  */
 protected function _populateRowFromEntry(Postr_Model_Entry $entry, Zend_Db_Table_Row_Abstract $entryRow = null)
 {
     if (null === $entryRow) {
         $entryRow = $this->_entryTable->createRow();
     }
     $entryRow->id = $entry->getId();
     $entryRow->title = $entry->getTitle();
     $entryRow->content = $entry->getContent();
     $entryRow->summary = $entry->getSummary();
     $entryRow->updated = $entry->getUpdated()->get(Zend_Date::ISO_8601);
     $entryRow->published = $entry->getPublished()->get(Zend_Date::ISO_8601);
     return $entryRow;
 }
All Usage Examples Of Zend_Db_Table_Abstract::createRow