<?php /** * Skeleton subclass for representing a row from the 'podcast' table. * * You should add additional methods to this class to meet the * application requirements. This class will only be generated as * long as it does not already exist in the output directory. */ class Podcast extends BasePodcast { /** * Override this function so it returns its child class fields as well. * Child class will either be ImportedPodcast or StationPodcast. * * @param string $keyType * @param bool $includeLazyLoadColumns * @param array $alreadyDumpedObjects * @param bool $includeForeignObjects * * @return array */ public function toArray($keyType = BasePeer::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = [], $includeForeignObjects = false) { $podcastArray = parent::toArray($keyType); $importedPodcast = ImportedPodcastQuery::create()->filterByDbPodcastId($this->getDbId())->findOne(); $stationPodcast = StationPodcastQuery::create()->filterByDbPodcastId($this->getDbId())->findOne(); if (!is_null($importedPodcast)) { $importedPodcastArray = $importedPodcast->toArray($keyType); // unset these values because we already have the podcast id in $podcastArray // and we don't need the imported podcast ID unset($importedPodcastArray['id'], $importedPodcastArray['podcast_id']); return array_merge($podcastArray, $importedPodcastArray); } if (!is_null($stationPodcast)) { // For now just return $podcastArray because StationPodcast objects do not have any // extra fields we want to return. This may change in the future. return $podcastArray; } return $podcastArray; } /** * Override this function so it updates the child class as well. * Child class will either be ImportedPodcast or StationPodcast. * * @param array $arr * @param string $keyType * * @throws Exception * @throws PropelException */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { parent::fromArray($arr, $keyType); $importedPodcast = ImportedPodcastQuery::create()->filterByDbPodcastId($this->getDbId())->findOne(); if (!is_null($importedPodcast)) { $importedPodcast->fromArray($arr, $keyType); $importedPodcast->save(); } // TODO: station podcast } }