Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Axtion\CompanyBundle\Model\om;
- use \BaseObject;
- use \BasePeer;
- use \Criteria;
- use \Exception;
- use \PDO;
- use \Persistent;
- use \Propel;
- use \PropelException;
- use \PropelPDO;
- use Axtion\CompanyBundle\Model\Company;
- use Axtion\CompanyBundle\Model\CompanyContact;
- use Axtion\CompanyBundle\Model\CompanyContactQuery;
- use Axtion\CompanyBundle\Model\CompanyPhone;
- use Axtion\CompanyBundle\Model\CompanyPhonePeer;
- use Axtion\CompanyBundle\Model\CompanyPhoneQuery;
- use Axtion\CompanyBundle\Model\CompanyPhoneType;
- use Axtion\CompanyBundle\Model\CompanyPhoneTypeQuery;
- use Axtion\CompanyBundle\Model\CompanyQuery;
- abstract class BaseCompanyPhone extends BaseObject implements Persistent
- {
- /**
- * Peer class name
- */
- const PEER = 'Axtion\\CompanyBundle\\Model\\CompanyPhonePeer';
- /**
- * The Peer class.
- * Instance provides a convenient way of calling static methods on a class
- * that calling code may not be able to identify.
- * @var CompanyPhonePeer
- */
- protected static $peer;
- /**
- * The flag var to prevent infinit loop in deep copy
- * @var boolean
- */
- protected $startCopy = false;
- /**
- * The value for the id field.
- * @var int
- */
- protected $id;
- /**
- * The value for the company_phone_type_id field.
- * @var int
- */
- protected $company_phone_type_id;
- /**
- * The value for the company_id field.
- * @var int
- */
- protected $company_id;
- /**
- * The value for the company_contact_id field.
- * @var int
- */
- protected $company_contact_id;
- /**
- * The value for the number field.
- * @var string
- */
- protected $number;
- /**
- * @var Company
- */
- protected $aCompany;
- /**
- * @var CompanyContact
- */
- protected $aCompanyContact;
- /**
- * @var CompanyPhoneType
- */
- protected $aCompanyPhoneType;
- /**
- * Flag to prevent endless save loop, if this object is referenced
- * by another object which falls in this transaction.
- * @var boolean
- */
- protected $alreadyInSave = false;
- /**
- * Flag to prevent endless validation loop, if this object is referenced
- * by another object which falls in this transaction.
- * @var boolean
- */
- protected $alreadyInValidation = false;
- /**
- * Flag to prevent endless clearAllReferences($deep=true) loop, if this object is referenced
- * @var boolean
- */
- protected $alreadyInClearAllReferencesDeep = false;
- /**
- * Get the [id] column value.
- *
- * @return int
- */
- public function getId()
- {
- return $this->id;
- }
- /**
- * Get the [company_phone_type_id] column value.
- *
- * @return int
- */
- public function getCompanyPhoneTypeId()
- {
- return $this->company_phone_type_id;
- }
- /**
- * Get the [company_id] column value.
- *
- * @return int
- */
- public function getCompanyId()
- {
- return $this->company_id;
- }
- /**
- * Get the [company_contact_id] column value.
- *
- * @return int
- */
- public function getCompanyContactId()
- {
- return $this->company_contact_id;
- }
- /**
- * Get the [number] column value.
- *
- * @return string
- */
- public function getNumber()
- {
- return $this->number;
- }
- /**
- * Set the value of [id] column.
- *
- * @param int $v new value
- * @return CompanyPhone The current object (for fluent API support)
- */
- public function setId($v)
- {
- if ($v !== null && is_numeric($v)) {
- $v = (int) $v;
- }
- if ($this->id !== $v) {
- $this->id = $v;
- $this->modifiedColumns[] = CompanyPhonePeer::ID;
- }
- return $this;
- } // setId()
- /**
- * Set the value of [company_phone_type_id] column.
- *
- * @param int $v new value
- * @return CompanyPhone The current object (for fluent API support)
- */
- public function setCompanyPhoneTypeId($v)
- {
- if ($v !== null && is_numeric($v)) {
- $v = (int) $v;
- }
- if ($this->company_phone_type_id !== $v) {
- $this->company_phone_type_id = $v;
- $this->modifiedColumns[] = CompanyPhonePeer::COMPANY_PHONE_TYPE_ID;
- }
- if ($this->aCompanyPhoneType !== null && $this->aCompanyPhoneType->getId() !== $v) {
- $this->aCompanyPhoneType = null;
- }
- return $this;
- } // setCompanyPhoneTypeId()
- /**
- * Set the value of [company_id] column.
- *
- * @param int $v new value
- * @return CompanyPhone The current object (for fluent API support)
- */
- public function setCompanyId($v)
- {
- if ($v !== null && is_numeric($v)) {
- $v = (int) $v;
- }
- if ($this->company_id !== $v) {
- $this->company_id = $v;
- $this->modifiedColumns[] = CompanyPhonePeer::COMPANY_ID;
- }
- if ($this->aCompany !== null && $this->aCompany->getId() !== $v) {
- $this->aCompany = null;
- }
- return $this;
- } // setCompanyId()
- /**
- * Set the value of [company_contact_id] column.
- *
- * @param int $v new value
- * @return CompanyPhone The current object (for fluent API support)
- */
- public function setCompanyContactId($v)
- {
- if ($v !== null && is_numeric($v)) {
- $v = (int) $v;
- }
- if ($this->company_contact_id !== $v) {
- $this->company_contact_id = $v;
- $this->modifiedColumns[] = CompanyPhonePeer::COMPANY_CONTACT_ID;
- }
- if ($this->aCompanyContact !== null && $this->aCompanyContact->getId() !== $v) {
- $this->aCompanyContact = null;
- }
- return $this;
- } // setCompanyContactId()
- /**
- * Set the value of [number] column.
- *
- * @param string $v new value
- * @return CompanyPhone The current object (for fluent API support)
- */
- public function setNumber($v)
- {
- if ($v !== null && is_numeric($v)) {
- $v = (string) $v;
- }
- if ($this->number !== $v) {
- $this->number = $v;
- $this->modifiedColumns[] = CompanyPhonePeer::NUMBER;
- }
- return $this;
- } // setNumber()
- /**
- * Indicates whether the columns in this object are only set to default values.
- *
- * This method can be used in conjunction with isModified() to indicate whether an object is both
- * modified _and_ has some values set which are non-default.
- *
- * @return boolean Whether the columns in this object are only been set with default values.
- */
- public function hasOnlyDefaultValues()
- {
- // otherwise, everything was equal, so return true
- return true;
- } // hasOnlyDefaultValues()
- /**
- * Hydrates (populates) the object variables with values from the database resultset.
- *
- * An offset (0-based "start column") is specified so that objects can be hydrated
- * with a subset of the columns in the resultset rows. This is needed, for example,
- * for results of JOIN queries where the resultset row includes columns from two or
- * more tables.
- *
- * @param array $row The row returned by PDOStatement->fetch(PDO::FETCH_NUM)
- * @param int $startcol 0-based offset column which indicates which restultset column to start with.
- * @param boolean $rehydrate Whether this object is being re-hydrated from the database.
- * @return int next starting column
- * @throws PropelException - Any caught Exception will be rewrapped as a PropelException.
- */
- public function hydrate($row, $startcol = 0, $rehydrate = false)
- {
- try {
- $this->id = ($row[$startcol + 0] !== null) ? (int) $row[$startcol + 0] : null;
- $this->company_phone_type_id = ($row[$startcol + 1] !== null) ? (int) $row[$startcol + 1] : null;
- $this->company_id = ($row[$startcol + 2] !== null) ? (int) $row[$startcol + 2] : null;
- $this->company_contact_id = ($row[$startcol + 3] !== null) ? (int) $row[$startcol + 3] : null;
- $this->number = ($row[$startcol + 4] !== null) ? (string) $row[$startcol + 4] : null;
- $this->resetModified();
- $this->setNew(false);
- if ($rehydrate) {
- $this->ensureConsistency();
- }
- $this->postHydrate($row, $startcol, $rehydrate);
- return $startcol + 5; // 5 = CompanyPhonePeer::NUM_HYDRATE_COLUMNS.
- } catch (Exception $e) {
- throw new PropelException("Error populating CompanyPhone object", $e);
- }
- }
- /**
- * Checks and repairs the internal consistency of the object.
- *
- * This method is executed after an already-instantiated object is re-hydrated
- * from the database. It exists to check any foreign keys to make sure that
- * the objects related to the current object are correct based on foreign key.
- *
- * You can override this method in the stub class, but you should always invoke
- * the base method from the overridden method (i.e. parent::ensureConsistency()),
- * in case your model changes.
- *
- * @throws PropelException
- */
- public function ensureConsistency()
- {
- if ($this->aCompanyPhoneType !== null && $this->company_phone_type_id !== $this->aCompanyPhoneType->getId()) {
- $this->aCompanyPhoneType = null;
- }
- if ($this->aCompany !== null && $this->company_id !== $this->aCompany->getId()) {
- $this->aCompany = null;
- }
- if ($this->aCompanyContact !== null && $this->company_contact_id !== $this->aCompanyContact->getId()) {
- $this->aCompanyContact = null;
- }
- } // ensureConsistency
- /**
- * Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
- *
- * This will only work if the object has been saved and has a valid primary key set.
- *
- * @param boolean $deep (optional) Whether to also de-associated any related objects.
- * @param PropelPDO $con (optional) The PropelPDO connection to use.
- * @return void
- * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db
- */
- public function reload($deep = false, PropelPDO $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("Cannot reload a deleted object.");
- }
- if ($this->isNew()) {
- throw new PropelException("Cannot reload an unsaved object.");
- }
- if ($con === null) {
- $con = Propel::getConnection(CompanyPhonePeer::DATABASE_NAME, Propel::CONNECTION_READ);
- }
- // We don't need to alter the object instance pool; we're just modifying this instance
- // already in the pool.
- $stmt = CompanyPhonePeer::doSelectStmt($this->buildPkeyCriteria(), $con);
- $row = $stmt->fetch(PDO::FETCH_NUM);
- $stmt->closeCursor();
- if (!$row) {
- throw new PropelException('Cannot find matching row in the database to reload object values.');
- }
- $this->hydrate($row, 0, true); // rehydrate
- if ($deep) { // also de-associate any related objects?
- $this->aCompany = null;
- $this->aCompanyContact = null;
- $this->aCompanyPhoneType = null;
- } // if (deep)
- }
- /**
- * Removes this object from datastore and sets delete attribute.
- *
- * @param PropelPDO $con
- * @return void
- * @throws PropelException
- * @throws Exception
- * @see BaseObject::setDeleted()
- * @see BaseObject::isDeleted()
- */
- public function delete(PropelPDO $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("This object has already been deleted.");
- }
- if ($con === null) {
- $con = Propel::getConnection(CompanyPhonePeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
- }
- $con->beginTransaction();
- try {
- $deleteQuery = CompanyPhoneQuery::create()
- ->filterByPrimaryKey($this->getPrimaryKey());
- $ret = $this->preDelete($con);
- if ($ret) {
- $deleteQuery->delete($con);
- $this->postDelete($con);
- $con->commit();
- $this->setDeleted(true);
- } else {
- $con->commit();
- }
- } catch (Exception $e) {
- $con->rollBack();
- throw $e;
- }
- }
- /**
- * Persists this object to the database.
- *
- * If the object is new, it inserts it; otherwise an update is performed.
- * All modified related objects will also be persisted in the doSave()
- * method. This method wraps all precipitate database operations in a
- * single transaction.
- *
- * @param PropelPDO $con
- * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
- * @throws PropelException
- * @throws Exception
- * @see doSave()
- */
- public function save(PropelPDO $con = null)
- {
- if ($this->isDeleted()) {
- throw new PropelException("You cannot save an object that has been deleted.");
- }
- if ($con === null) {
- $con = Propel::getConnection(CompanyPhonePeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
- }
- $con->beginTransaction();
- $isInsert = $this->isNew();
- try {
- $ret = $this->preSave($con);
- if ($isInsert) {
- $ret = $ret && $this->preInsert($con);
- } else {
- $ret = $ret && $this->preUpdate($con);
- }
- if ($ret) {
- $affectedRows = $this->doSave($con);
- if ($isInsert) {
- $this->postInsert($con);
- } else {
- $this->postUpdate($con);
- }
- $this->postSave($con);
- CompanyPhonePeer::addInstanceToPool($this);
- } else {
- $affectedRows = 0;
- }
- $con->commit();
- return $affectedRows;
- } catch (Exception $e) {
- $con->rollBack();
- throw $e;
- }
- }
- /**
- * Performs the work of inserting or updating the row in the database.
- *
- * If the object is new, it inserts it; otherwise an update is performed.
- * All related objects are also updated in this method.
- *
- * @param PropelPDO $con
- * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations.
- * @throws PropelException
- * @see save()
- */
- protected function doSave(PropelPDO $con)
- {
- $affectedRows = 0; // initialize var to track total num of affected rows
- if (!$this->alreadyInSave) {
- $this->alreadyInSave = true;
- // We call the save method on the following object(s) if they
- // were passed to this object by their coresponding set
- // method. This object relates to these object(s) by a
- // foreign key reference.
- if ($this->aCompany !== null) {
- if ($this->aCompany->isModified() || $this->aCompany->isNew()) {
- $affectedRows += $this->aCompany->save($con);
- }
- $this->setCompany($this->aCompany);
- }
- if ($this->aCompanyContact !== null) {
- if ($this->aCompanyContact->isModified() || $this->aCompanyContact->isNew()) {
- $affectedRows += $this->aCompanyContact->save($con);
- }
- $this->setCompanyContact($this->aCompanyContact);
- }
- if ($this->aCompanyPhoneType !== null) {
- if ($this->aCompanyPhoneType->isModified() || $this->aCompanyPhoneType->isNew()) {
- $affectedRows += $this->aCompanyPhoneType->save($con);
- }
- $this->setCompanyPhoneType($this->aCompanyPhoneType);
- }
- if ($this->isNew() || $this->isModified()) {
- // persist changes
- if ($this->isNew()) {
- $this->doInsert($con);
- } else {
- $this->doUpdate($con);
- }
- $affectedRows += 1;
- $this->resetModified();
- }
- $this->alreadyInSave = false;
- }
- return $affectedRows;
- } // doSave()
- /**
- * Insert the row in the database.
- *
- * @param PropelPDO $con
- *
- * @throws PropelException
- * @see doSave()
- */
- protected function doInsert(PropelPDO $con)
- {
- $modifiedColumns = array();
- $index = 0;
- $this->modifiedColumns[] = CompanyPhonePeer::ID;
- if (null !== $this->id) {
- throw new PropelException('Cannot insert a value for auto-increment primary key (' . CompanyPhonePeer::ID . ')');
- }
- // check the columns in natural order for more readable SQL queries
- if ($this->isColumnModified(CompanyPhonePeer::ID)) {
- $modifiedColumns[':p' . $index++] = '`id`';
- }
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_PHONE_TYPE_ID)) {
- $modifiedColumns[':p' . $index++] = '`company_phone_type_id`';
- }
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_ID)) {
- $modifiedColumns[':p' . $index++] = '`company_id`';
- }
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_CONTACT_ID)) {
- $modifiedColumns[':p' . $index++] = '`company_contact_id`';
- }
- if ($this->isColumnModified(CompanyPhonePeer::NUMBER)) {
- $modifiedColumns[':p' . $index++] = '`number`';
- }
- $sql = sprintf(
- 'INSERT INTO `company_phone` (%s) VALUES (%s)',
- implode(', ', $modifiedColumns),
- implode(', ', array_keys($modifiedColumns))
- );
- try {
- $stmt = $con->prepare($sql);
- foreach ($modifiedColumns as $identifier => $columnName) {
- switch ($columnName) {
- case '`id`':
- $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT);
- break;
- case '`company_phone_type_id`':
- $stmt->bindValue($identifier, $this->company_phone_type_id, PDO::PARAM_INT);
- break;
- case '`company_id`':
- $stmt->bindValue($identifier, $this->company_id, PDO::PARAM_INT);
- break;
- case '`company_contact_id`':
- $stmt->bindValue($identifier, $this->company_contact_id, PDO::PARAM_INT);
- break;
- case '`number`':
- $stmt->bindValue($identifier, $this->number, PDO::PARAM_STR);
- break;
- }
- }
- $stmt->execute();
- } catch (Exception $e) {
- Propel::log($e->getMessage(), Propel::LOG_ERR);
- throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), $e);
- }
- try {
- $pk = $con->lastInsertId();
- } catch (Exception $e) {
- throw new PropelException('Unable to get autoincrement id.', $e);
- }
- $this->setId($pk);
- $this->setNew(false);
- }
- /**
- * Update the row in the database.
- *
- * @param PropelPDO $con
- *
- * @see doSave()
- */
- protected function doUpdate(PropelPDO $con)
- {
- $selectCriteria = $this->buildPkeyCriteria();
- $valuesCriteria = $this->buildCriteria();
- BasePeer::doUpdate($selectCriteria, $valuesCriteria, $con);
- }
- /**
- * Array of ValidationFailed objects.
- * @var array ValidationFailed[]
- */
- protected $validationFailures = array();
- /**
- * Gets any ValidationFailed objects that resulted from last call to validate().
- *
- *
- * @return array ValidationFailed[]
- * @see validate()
- */
- public function getValidationFailures()
- {
- return $this->validationFailures;
- }
- /**
- * Validates the objects modified field values and all objects related to this table.
- *
- * If $columns is either a column name or an array of column names
- * only those columns are validated.
- *
- * @param mixed $columns Column name or an array of column names.
- * @return boolean Whether all columns pass validation.
- * @see doValidate()
- * @see getValidationFailures()
- */
- public function validate($columns = null)
- {
- $res = $this->doValidate($columns);
- if ($res === true) {
- $this->validationFailures = array();
- return true;
- }
- $this->validationFailures = $res;
- return false;
- }
- /**
- * This function performs the validation work for complex object models.
- *
- * In addition to checking the current object, all related objects will
- * also be validated. If all pass then <code>true</code> is returned; otherwise
- * an aggreagated array of ValidationFailed objects will be returned.
- *
- * @param array $columns Array of column names to validate.
- * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
- */
- protected function doValidate($columns = null)
- {
- if (!$this->alreadyInValidation) {
- $this->alreadyInValidation = true;
- $retval = null;
- $failureMap = array();
- // We call the validate method on the following object(s) if they
- // were passed to this object by their coresponding set
- // method. This object relates to these object(s) by a
- // foreign key reference.
- if ($this->aCompany !== null) {
- if (!$this->aCompany->validate($columns)) {
- $failureMap = array_merge($failureMap, $this->aCompany->getValidationFailures());
- }
- }
- if ($this->aCompanyContact !== null) {
- if (!$this->aCompanyContact->validate($columns)) {
- $failureMap = array_merge($failureMap, $this->aCompanyContact->getValidationFailures());
- }
- }
- if ($this->aCompanyPhoneType !== null) {
- if (!$this->aCompanyPhoneType->validate($columns)) {
- $failureMap = array_merge($failureMap, $this->aCompanyPhoneType->getValidationFailures());
- }
- }
- if (($retval = CompanyPhonePeer::doValidate($this, $columns)) !== true) {
- $failureMap = array_merge($failureMap, $retval);
- }
- $this->alreadyInValidation = false;
- }
- return (!empty($failureMap) ? $failureMap : true);
- }
- /**
- * Retrieves a field from the object by name passed in as a string.
- *
- * @param string $name name
- * @param string $type The type of fieldname the $name is of:
- * one of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
- * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
- * Defaults to BasePeer::TYPE_PHPNAME
- * @return mixed Value of field.
- */
- public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
- {
- $pos = CompanyPhonePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
- $field = $this->getByPosition($pos);
- return $field;
- }
- /**
- * Retrieves a field from the object by Position as specified in the xml schema.
- * Zero-based.
- *
- * @param int $pos position in xml schema
- * @return mixed Value of field at $pos
- */
- public function getByPosition($pos)
- {
- switch ($pos) {
- case 0:
- return $this->getId();
- break;
- case 1:
- return $this->getCompanyPhoneTypeId();
- break;
- case 2:
- return $this->getCompanyId();
- break;
- case 3:
- return $this->getCompanyContactId();
- break;
- case 4:
- return $this->getNumber();
- break;
- default:
- return null;
- break;
- } // switch()
- }
- /**
- * Exports the object as an array.
- *
- * You can specify the key type of the array by passing one of the class
- * type constants.
- *
- * @param string $keyType (optional) One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
- * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
- * Defaults to BasePeer::TYPE_PHPNAME.
- * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to true.
- * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion
- * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE.
- *
- * @return array an associative array containing the field names (as keys) and field values
- */
- public function toArray($keyType = BasePeer::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false)
- {
- if (isset($alreadyDumpedObjects['CompanyPhone'][$this->getPrimaryKey()])) {
- return '*RECURSION*';
- }
- $alreadyDumpedObjects['CompanyPhone'][$this->getPrimaryKey()] = true;
- $keys = CompanyPhonePeer::getFieldNames($keyType);
- $result = array(
- $keys[0] => $this->getId(),
- $keys[1] => $this->getCompanyPhoneTypeId(),
- $keys[2] => $this->getCompanyId(),
- $keys[3] => $this->getCompanyContactId(),
- $keys[4] => $this->getNumber(),
- );
- if ($includeForeignObjects) {
- if (null !== $this->aCompany) {
- $result['Company'] = $this->aCompany->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
- }
- if (null !== $this->aCompanyContact) {
- $result['CompanyContact'] = $this->aCompanyContact->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
- }
- if (null !== $this->aCompanyPhoneType) {
- $result['CompanyPhoneType'] = $this->aCompanyPhoneType->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true);
- }
- }
- return $result;
- }
- /**
- * Sets a field from the object by name passed in as a string.
- *
- * @param string $name peer name
- * @param mixed $value field value
- * @param string $type The type of fieldname the $name is of:
- * one of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
- * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
- * Defaults to BasePeer::TYPE_PHPNAME
- * @return void
- */
- public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
- {
- $pos = CompanyPhonePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
- $this->setByPosition($pos, $value);
- }
- /**
- * Sets a field from the object by Position as specified in the xml schema.
- * Zero-based.
- *
- * @param int $pos position in xml schema
- * @param mixed $value field value
- * @return void
- */
- public function setByPosition($pos, $value)
- {
- switch ($pos) {
- case 0:
- $this->setId($value);
- break;
- case 1:
- $this->setCompanyPhoneTypeId($value);
- break;
- case 2:
- $this->setCompanyId($value);
- break;
- case 3:
- $this->setCompanyContactId($value);
- break;
- case 4:
- $this->setNumber($value);
- break;
- } // switch()
- }
- /**
- * Populates the object using an array.
- *
- * This is particularly useful when populating an object from one of the
- * request arrays (e.g. $_POST). This method goes through the column
- * names, checking to see whether a matching key exists in populated
- * array. If so the setByName() method is called for that column.
- *
- * You can specify the key type of the array by additionally passing one
- * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
- * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
- * The default key type is the column's BasePeer::TYPE_PHPNAME
- *
- * @param array $arr An array to populate the object from.
- * @param string $keyType The type of keys the array uses.
- * @return void
- */
- public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
- {
- $keys = CompanyPhonePeer::getFieldNames($keyType);
- if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
- if (array_key_exists($keys[1], $arr)) $this->setCompanyPhoneTypeId($arr[$keys[1]]);
- if (array_key_exists($keys[2], $arr)) $this->setCompanyId($arr[$keys[2]]);
- if (array_key_exists($keys[3], $arr)) $this->setCompanyContactId($arr[$keys[3]]);
- if (array_key_exists($keys[4], $arr)) $this->setNumber($arr[$keys[4]]);
- }
- /**
- * Build a Criteria object containing the values of all modified columns in this object.
- *
- * @return Criteria The Criteria object containing all modified values.
- */
- public function buildCriteria()
- {
- $criteria = new Criteria(CompanyPhonePeer::DATABASE_NAME);
- if ($this->isColumnModified(CompanyPhonePeer::ID)) $criteria->add(CompanyPhonePeer::ID, $this->id);
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_PHONE_TYPE_ID)) $criteria->add(CompanyPhonePeer::COMPANY_PHONE_TYPE_ID, $this->company_phone_type_id);
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_ID)) $criteria->add(CompanyPhonePeer::COMPANY_ID, $this->company_id);
- if ($this->isColumnModified(CompanyPhonePeer::COMPANY_CONTACT_ID)) $criteria->add(CompanyPhonePeer::COMPANY_CONTACT_ID, $this->company_contact_id);
- if ($this->isColumnModified(CompanyPhonePeer::NUMBER)) $criteria->add(CompanyPhonePeer::NUMBER, $this->number);
- return $criteria;
- }
- /**
- * Builds a Criteria object containing the primary key for this object.
- *
- * Unlike buildCriteria() this method includes the primary key values regardless
- * of whether or not they have been modified.
- *
- * @return Criteria The Criteria object containing value(s) for primary key(s).
- */
- public function buildPkeyCriteria()
- {
- $criteria = new Criteria(CompanyPhonePeer::DATABASE_NAME);
- $criteria->add(CompanyPhonePeer::ID, $this->id);
- return $criteria;
- }
- /**
- * Returns the primary key for this object (row).
- * @return int
- */
- public function getPrimaryKey()
- {
- return $this->getId();
- }
- /**
- * Generic method to set the primary key (id column).
- *
- * @param int $key Primary key.
- * @return void
- */
- public function setPrimaryKey($key)
- {
- $this->setId($key);
- }
- /**
- * Returns true if the primary key for this object is null.
- * @return boolean
- */
- public function isPrimaryKeyNull()
- {
- return null === $this->getId();
- }
- /**
- * Sets contents of passed object to values from current object.
- *
- * If desired, this method can also make copies of all associated (fkey referrers)
- * objects.
- *
- * @param object $copyObj An object of CompanyPhone (or compatible) type.
- * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
- * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new.
- * @throws PropelException
- */
- public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
- {
- $copyObj->setCompanyPhoneTypeId($this->getCompanyPhoneTypeId());
- $copyObj->setCompanyId($this->getCompanyId());
- $copyObj->setCompanyContactId($this->getCompanyContactId());
- $copyObj->setNumber($this->getNumber());
- if ($deepCopy && !$this->startCopy) {
- // important: temporarily setNew(false) because this affects the behavior of
- // the getter/setter methods for fkey referrer objects.
- $copyObj->setNew(false);
- // store object hash to prevent cycle
- $this->startCopy = true;
- //unflag object copy
- $this->startCopy = false;
- } // if ($deepCopy)
- if ($makeNew) {
- $copyObj->setNew(true);
- $copyObj->setId(NULL); // this is a auto-increment column, so set to default value
- }
- }
- /**
- * Makes a copy of this object that will be inserted as a new row in table when saved.
- * It creates a new object filling in the simple attributes, but skipping any primary
- * keys that are defined for the table.
- *
- * If desired, this method can also make copies of all associated (fkey referrers)
- * objects.
- *
- * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
- * @return CompanyPhone Clone of current object.
- * @throws PropelException
- */
- public function copy($deepCopy = false)
- {
- // we use get_class(), because this might be a subclass
- $clazz = get_class($this);
- $copyObj = new $clazz();
- $this->copyInto($copyObj, $deepCopy);
- return $copyObj;
- }
- /**
- * Returns a peer instance associated with this om.
- *
- * Since Peer classes are not to have any instance attributes, this method returns the
- * same instance for all member of this class. The method could therefore
- * be static, but this would prevent one from overriding the behavior.
- *
- * @return CompanyPhonePeer
- */
- public function getPeer()
- {
- if (self::$peer === null) {
- self::$peer = new CompanyPhonePeer();
- }
- return self::$peer;
- }
- /**
- * Declares an association between this object and a Company object.
- *
- * @param Company $v
- * @return CompanyPhone The current object (for fluent API support)
- * @throws PropelException
- */
- public function setCompany(Company $v = null)
- {
- if ($v === null) {
- $this->setCompanyId(NULL);
- } else {
- $this->setCompanyId($v->getId());
- }
- $this->aCompany = $v;
- // Add binding for other direction of this n:n relationship.
- // If this object has already been added to the Company object, it will not be re-added.
- if ($v !== null) {
- $v->addCompanyPhone($this);
- }
- return $this;
- }
- /**
- * Get the associated Company object
- *
- * @param PropelPDO $con Optional Connection object.
- * @param $doQuery Executes a query to get the object if required
- * @return Company The associated Company object.
- * @throws PropelException
- */
- public function getCompany(PropelPDO $con = null, $doQuery = true)
- {
- if ($this->aCompany === null && ($this->company_id !== null) && $doQuery) {
- $this->aCompany = CompanyQuery::create()->findPk($this->company_id, $con);
- /* The following can be used additionally to
- guarantee the related object contains a reference
- to this object. This level of coupling may, however, be
- undesirable since it could result in an only partially populated collection
- in the referenced object.
- $this->aCompany->addCompanyPhones($this);
- */
- }
- return $this->aCompany;
- }
- /**
- * Declares an association between this object and a CompanyContact object.
- *
- * @param CompanyContact $v
- * @return CompanyPhone The current object (for fluent API support)
- * @throws PropelException
- */
- public function setCompanyContact(CompanyContact $v = null)
- {
- if ($v === null) {
- $this->setCompanyContactId(NULL);
- } else {
- $this->setCompanyContactId($v->getId());
- }
- $this->aCompanyContact = $v;
- // Add binding for other direction of this n:n relationship.
- // If this object has already been added to the CompanyContact object, it will not be re-added.
- if ($v !== null) {
- $v->addCompanyPhone($this);
- }
- return $this;
- }
- /**
- * Get the associated CompanyContact object
- *
- * @param PropelPDO $con Optional Connection object.
- * @param $doQuery Executes a query to get the object if required
- * @return CompanyContact The associated CompanyContact object.
- * @throws PropelException
- */
- public function getCompanyContact(PropelPDO $con = null, $doQuery = true)
- {
- if ($this->aCompanyContact === null && ($this->company_contact_id !== null) && $doQuery) {
- $this->aCompanyContact = CompanyContactQuery::create()->findPk($this->company_contact_id, $con);
- /* The following can be used additionally to
- guarantee the related object contains a reference
- to this object. This level of coupling may, however, be
- undesirable since it could result in an only partially populated collection
- in the referenced object.
- $this->aCompanyContact->addCompanyPhones($this);
- */
- }
- return $this->aCompanyContact;
- }
- /**
- * Declares an association between this object and a CompanyPhoneType object.
- *
- * @param CompanyPhoneType $v
- * @return CompanyPhone The current object (for fluent API support)
- * @throws PropelException
- */
- public function setCompanyPhoneType(CompanyPhoneType $v = null)
- {
- if ($v === null) {
- $this->setCompanyPhoneTypeId(NULL);
- } else {
- $this->setCompanyPhoneTypeId($v->getId());
- }
- $this->aCompanyPhoneType = $v;
- // Add binding for other direction of this n:n relationship.
- // If this object has already been added to the CompanyPhoneType object, it will not be re-added.
- if ($v !== null) {
- $v->addCompanyPhone($this);
- }
- return $this;
- }
- /**
- * Get the associated CompanyPhoneType object
- *
- * @param PropelPDO $con Optional Connection object.
- * @param $doQuery Executes a query to get the object if required
- * @return CompanyPhoneType The associated CompanyPhoneType object.
- * @throws PropelException
- */
- public function getCompanyPhoneType(PropelPDO $con = null, $doQuery = true)
- {
- if ($this->aCompanyPhoneType === null && ($this->company_phone_type_id !== null) && $doQuery) {
- $this->aCompanyPhoneType = CompanyPhoneTypeQuery::create()->findPk($this->company_phone_type_id, $con);
- /* The following can be used additionally to
- guarantee the related object contains a reference
- to this object. This level of coupling may, however, be
- undesirable since it could result in an only partially populated collection
- in the referenced object.
- $this->aCompanyPhoneType->addCompanyPhones($this);
- */
- }
- return $this->aCompanyPhoneType;
- }
- /**
- * Clears the current object and sets all attributes to their default values
- */
- public function clear()
- {
- $this->id = null;
- $this->company_phone_type_id = null;
- $this->company_id = null;
- $this->company_contact_id = null;
- $this->number = null;
- $this->alreadyInSave = false;
- $this->alreadyInValidation = false;
- $this->alreadyInClearAllReferencesDeep = false;
- $this->clearAllReferences();
- $this->resetModified();
- $this->setNew(true);
- $this->setDeleted(false);
- }
- /**
- * Resets all references to other model objects or collections of model objects.
- *
- * This method is a user-space workaround for PHP's inability to garbage collect
- * objects with circular references (even in PHP 5.3). This is currently necessary
- * when using Propel in certain daemon or large-volumne/high-memory operations.
- *
- * @param boolean $deep Whether to also clear the references on all referrer objects.
- */
- public function clearAllReferences($deep = false)
- {
- if ($deep && !$this->alreadyInClearAllReferencesDeep) {
- $this->alreadyInClearAllReferencesDeep = true;
- if ($this->aCompany instanceof Persistent) {
- $this->aCompany->clearAllReferences($deep);
- }
- if ($this->aCompanyContact instanceof Persistent) {
- $this->aCompanyContact->clearAllReferences($deep);
- }
- if ($this->aCompanyPhoneType instanceof Persistent) {
- $this->aCompanyPhoneType->clearAllReferences($deep);
- }
- $this->alreadyInClearAllReferencesDeep = false;
- } // if ($deep)
- $this->aCompany = null;
- $this->aCompanyContact = null;
- $this->aCompanyPhoneType = null;
- }
- /**
- * return the string representation of this object
- *
- * @return string
- */
- public function __toString()
- {
- return (string) $this->exportTo(CompanyPhonePeer::DEFAULT_STRING_FORMAT);
- }
- /**
- * return true is the object is in saving state
- *
- * @return boolean
- */
- public function isAlreadyInSave()
- {
- return $this->alreadyInSave;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment