/** * Gets a single ChildContentArea object, which is related to this object by a one-to-one relationship. * * @param ConnectionInterface $con optional connection object * @return ChildContentArea * @throws PropelException */ public function getContentArea(ConnectionInterface $con = null) { if ($this->singleContentArea === null && !$this->isNew()) { $this->singleContentArea = ChildContentAreaQuery::create()->findPk($this->getPrimaryKey(), $con); } return $this->singleContentArea; }
/** * 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. * * @throws LogicException if no primary key is defined * * @return Criteria The Criteria object containing value(s) for primary key(s). */ public function buildPkeyCriteria() { $criteria = ChildContentAreaQuery::create(); $criteria->add(ContentAreaTableMap::COL_ID, $this->id); return $criteria; }
/** * Get the associated ChildContentArea object * * @param ConnectionInterface $con Optional Connection object. * @return ChildContentArea The associated ChildContentArea object. * @throws PropelException */ public function getContentArea(ConnectionInterface $con = null) { if ($this->aContentArea === null && $this->id !== null) { $this->aContentArea = ChildContentAreaQuery::create()->findPk($this->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->aContentArea->addContentAreaVersions($this); */ } return $this->aContentArea; }
/** * Performs an INSERT on the database, given a ContentArea or Criteria object. * * @param mixed $criteria Criteria or ContentArea object containing data that is used to create the INSERT statement. * @param ConnectionInterface $con the ConnectionInterface connection to use * @return mixed The new primary key. * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doInsert($criteria, ConnectionInterface $con = null) { if (null === $con) { $con = Propel::getServiceContainer()->getWriteConnection(ContentAreaTableMap::DATABASE_NAME); } if ($criteria instanceof Criteria) { $criteria = clone $criteria; // rename for clarity } else { $criteria = $criteria->buildCriteria(); // build Criteria from ContentArea object } // Set the correct dbName $query = ContentAreaQuery::create()->mergeWith($criteria); // use transaction because $criteria could contain info // for more than one table (I guess, conceivably) return $con->transaction(function () use($con, $query) { return $query->doInsert($con); }); }