Declares an association between this object and a ChildFeature object.

@param                  ChildFeature $v
@return                 \FeatureType\Model\FeatureFeatureType The current object (for fluent API support)
@throws PropelException
336835
public function setFeature(ChildFeature $v = null)
    {
        if ($v === null) {
            $this->setFeatureId(NULL);
        } else {
            $this->setFeatureId($v->getId());
        }

        $this->aFeature = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildFeature object, it will not be re-added.
        if ($v !== null) {
            $v->addFeatureFeatureType($this);
        }


        return $this;
    }
1261700
public function getFeatureAv(ConnectionInterface $con = null)
    {
        if ($this->aFeatureAv === null && ($this->feature_av_id !== null)) {
            $this->aFeatureAv = FeatureAvQuery::create()->findPk($this->feature_av_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->aFeatureAv->addFeatureTypeAvMetas($this);
             */
        }

        return $this->aFeatureAv;
    }
347159
public function setParentId($v)
    {
        if ($v !== null) {
            $v = (int) $v;
        }

        if ($this->parent_id !== $v) {
            $this->parent_id = $v;
            $this->modifiedColumns[PermissionTableMap::COL_PARENT_ID] = true;
        }

        if ($this->aPermissionRelatedByParentId !== null && $this->aPermissionRelatedByParentId->getId() !== $v) {
            $this->aPermissionRelatedByParentId = null;
        }

        return $this;
    }
234266
public function setFeatureFeatureTypeId($v)
    {
        if ($v !== null) {
            $v = (int) $v;
        }

        if ($this->feature_feature_type_id !== $v) {
            $this->feature_feature_type_id = $v;
            $this->modifiedColumns[FeatureTypeAvMetaTableMap::FEATURE_FEATURE_TYPE_ID] = true;
        }

        if ($this->aFeatureFeatureType !== null && $this->aFeatureFeatureType->getId() !== $v) {
            $this->aFeatureFeatureType = null;
        }


        return $this;
    }
457703
public function setSkillRelatedByParentId(ChildSkill $v = null)
    {
        if ($v === null) {
            $this->setParentId(NULL);
        } else {
            $this->setParentId($v->getId());
        }

        $this->aSkillRelatedByParentId = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildSkill object, it will not be re-added.
        if ($v !== null) {
            $v->addParent($this);
        }


        return $this;
    }
1138414
public function setPersonTeamLink(ChildPersonTeamLink $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aPersonTeamLink = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildPersonTeamLink object, it will not be re-added.
        if ($v !== null) {
            $v->addPersonTeamLinkVersion($this);
        }


        return $this;
    }
1030955
public function setDealerContact(ChildDealerContact $v = null)
    {
        if ($v === null) {
            $this->setContactId(NULL);
        } else {
            $this->setContactId($v->getId());
        }

        $this->aDealerContact = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildDealerContact object, it will not be re-added.
        if ($v !== null) {
            $v->addDealerContactInfo($this);
        }


        return $this;
    }
337372
public function setMap(ChildMap $v = null)
    {
        if ($v === null) {
            $this->setTrackuid(NULL);
        } else {
            $this->setTrackuid($v->getMapuid());
        }

        $this->aMap = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildMap object, it will not be re-added.
        if ($v !== null) {
            $v->addMxmap($this);
        }


        return $this;
    }
556625
public function setDealerShedules(ChildDealerShedules $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aDealerShedules = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildDealerShedules object, it will not be re-added.
        if ($v !== null) {
            $v->addDealerShedulesVersion($this);
        }


        return $this;
    }
735735
public function setIndexEngineDriverConfiguration(ChildIndexEngineDriverConfiguration $v = null)
    {
        if ($v === null) {
            $this->setIndexEngineDriverConfigurationId(null);
        } else {
            $this->setIndexEngineDriverConfigurationId($v->getId());
        }

        $this->aIndexEngineDriverConfiguration = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildIndexEngineDriverConfiguration object, it will not be re-added.
        if ($v !== null) {
            $v->addIndexEngineIndex($this);
        }

        return $this;
    }
966567
public function setObject(ChildObject $v = null)
    {
        // aggregate_column_relation behavior
        if (null !== $this->aObject && $v !== $this->aObject) {
            $this->oldObjectSkillCount = $this->aObject;
        }
        if ($v === null) {
            $this->setObjectId(NULL);
        } else {
            $this->setObjectId($v->getId());
        }

        $this->aObject = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildObject object, it will not be re-added.
        if ($v !== null) {
            $v->addSkill($this);
        }


        return $this;
    }
1182754
public function setDealerProduct(ChildDealerProduct $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aDealerProduct = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildDealerProduct object, it will not be re-added.
        if ($v !== null) {
            $v->addDealerProductVersion($this);
        }


        return $this;
    }
919352
public function setPattern($v)
    {
        if ($v !== null) {
            $v = (string) $v;
        }

        if ($this->pattern !== $v) {
            $this->pattern = $v;
            $this->modifiedColumns[FeatureTypeTableMap::PATTERN] = true;
        }


        return $this;
    }
1352681
public function setCategory(ChildCategory $v = null)
    {
        if ($v === null) {
            $this->setCategoryId(NULL);
        } else {
            $this->setCategoryId($v->getId());
        }

        $this->aCategory = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildCategory object, it will not be re-added.
        if ($v !== null) {
            $v->addC2M($this);
        }


        return $this;
    }
753367
public function setFeatureAv(ChildFeatureAv $v = null)
    {
        if ($v === null) {
            $this->setFeatureAvId(NULL);
        } else {
            $this->setFeatureAvId($v->getId());
        }

        $this->aFeatureAv = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildFeatureAv object, it will not be re-added.
        if ($v !== null) {
            $v->addFeatureTypeAvMeta($this);
        }


        return $this;
    }
540497
public function setSkillRelatedByPartId(ChildSkill $v = null)
    {
        if ($v === null) {
            $this->setPartId(NULL);
        } else {
            $this->setPartId($v->getId());
        }

        $this->aSkillRelatedByPartId = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildSkill object, it will not be re-added.
        if ($v !== null) {
            $v->addPart($this);
        }


        return $this;
    }
441169
public function setPage(ChildPage $v = null)
    {
        if ($v === null) {
            $this->setPageId(NULL);
        } else {
            $this->setPageId($v->getId());
        }

        $this->aPage = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildPage object, it will not be re-added.
        if ($v !== null) {
            $v->addM2P($this);
        }


        return $this;
    }