/** * Get the associated EnumItem object * * @param PropelPDO Optional Connection object. * @return EnumItem The associated EnumItem object. * @throws PropelException */ public function getEnumItemRelatedByParentId(PropelPDO $con = null) { if ($this->aEnumItemRelatedByParentId === null && $this->parent_id !== null) { $c = new Criteria(EnumItemPeer::DATABASE_NAME); $c->add(EnumItemPeer::ID, $this->parent_id); $this->aEnumItemRelatedByParentId = EnumItemPeer::doSelectOne($c, $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->aEnumItemRelatedByParentId->addEnumItemsRelatedByParentId($this); */ } return $this->aEnumItemRelatedByParentId; }
public function executeEdit(sfWebRequest $request) { $this->scale_PID = skuleadminConst::RATING_SCALE_TYPES_PID; $this->forward404Unless($rating_field = RatingFieldPeer::retrieveByPk($request->getParameter('id')), sprintf('Object rating_field does not exist (%s).', $request->getParameter('id'))); if ($rating_field->getIsReserved()) { $this->is_reserved = true; $this->rating = array('descr' => $rating_field->getDescr()); $c = new Criteria(); $c->add(EnumItemPeer::ID, $rating_field->getTypeId()); $type = EnumItemPeer::doSelectOne($c); if ($rating_field->getTypeId() > 30 && $rating_field->getTypeId() < 40) { //its a scale! $c2 = new Criteria(); $c2->add(EnumItemPeer::ID, $type->getParentId()); $type_parent = EnumItemPeer::doSelectOne($c2); $this->rating['type_id'] = $type_parent->getDescr(); $this->rating['scale'] = $type->getDescr(); } else { $this->rating['type_id'] = $type->getDescr(); } } else { $this->form = new RatingFieldForm($rating_field); if ($rating_field->getTypeId() > 30 && $rating_field->getTypeId() < 40) { $c = new Criteria(); $c->add(EnumItemPeer::ID, $rating_field->getTypeId()); $type = EnumItemPeer::doSelectOne($c); $this->form->setValue('type_scale', $type->getParentId()); $this->form->setValue('scale', $rating_field->getTypeId()); } } $this->rating_field_list = $this->getRatingCriteriaList(); $this->setTemplate('list'); }