Declares an association between this object and a ChildPerson object.

@param                  ChildPerson $v
@return                 \Team\Model\PersonFunctionLink The current object (for fluent API support)
@throws PropelException
778993
public function setPerson(ChildPerson $v = null)
    {
        if ($v === null) {
            $this->setPersonId(NULL);
        } else {
            $this->setPersonId($v->getId());
        }

        $this->aPerson = $v;

        // Add binding for other direction of this n:n relationship.
        // If this object has already been added to the ChildPerson object, it will not be re-added.
        if ($v !== null) {
            $v->addPersonFunctionLink($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;
    }
1162973
public function prune($personFunctionLinkVersion = null)
    {
        if ($personFunctionLinkVersion) {
            $this->addCond('pruneCond0', $this->getAliasedColName(PersonFunctionLinkVersionTableMap::ID), $personFunctionLinkVersion->getId(), Criteria::NOT_EQUAL);
            $this->addCond('pruneCond1', $this->getAliasedColName(PersonFunctionLinkVersionTableMap::VERSION), $personFunctionLinkVersion->getVersion(), Criteria::NOT_EQUAL);
            $this->combine(array('pruneCond0', 'pruneCond1'), Criteria::LOGICAL_OR);
        }

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

        if ($this->person_id_version !== $v) {
            $this->person_id_version = $v;
            $this->modifiedColumns[PersonFunctionLinkVersionTableMap::PERSON_ID_VERSION] = true;
        }


        return $this;
    }
811972
public function addPersonFunctionLinkVersion($value)
    {
        $currentArray = $this->getPersonFunctionLinkVersions();
        $currentArray []= $value;
        $this->setPersonFunctionLinkVersions($currentArray);

        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;
    }
1142599
public function addPersonFunctionLinkId($value)
    {
        $currentArray = $this->getPersonFunctionLinkIds();
        $currentArray []= $value;
        $this->setPersonFunctionLinkIds($currentArray);

        return $this;
    }
87689
public function setPersonImage(ChildPersonImage $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aPersonImage = $v;

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


        return $this;
    }
400815
public function setBrand(ChildBrand $v = null)
    {
        if ($v === null) {
            $this->setBrandId(NULL);
        } else {
            $this->setBrandId($v->getId());
        }

        $this->aBrand = $v;

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


        return $this;
    }
1037587
public function setSmartyFilter(ChildSmartyFilter $v = null)
    {
        if ($v === null) {
            $this->setId(null);
        } else {
            $this->setId($v->getId());
        }

        $this->aSmartyFilter = $v;

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


        return $this;
    }
371568
public function setAttribute(ChildAttribute $v = null)
    {
        if ($v === null) {
            $this->setAttributeId(NULL);
        } else {
            $this->setAttributeId($v->getId());
        }

        $this->aAttribute = $v;

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


        return $this;
    }
1344277
public function getPersonFunctionLink(ConnectionInterface $con = null)
    {
        if ($this->aPersonFunctionLink === null && ($this->id !== null)) {
            $this->aPersonFunctionLink = ChildPersonFunctionLinkQuery::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->aPersonFunctionLink->addPersonFunctionLinkVersions($this);
             */
        }

        return $this->aPersonFunctionLink;
    }
1195619
public function setDealerAdmin(ChildDealerAdmin $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aDealerAdmin = $v;

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


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

        if ($this->function_id_version !== $v) {
            $this->function_id_version = $v;
            $this->modifiedColumns[PersonFunctionLinkVersionTableMap::FUNCTION_ID_VERSION] = true;
        }


        return $this;
    }
1069825
public function setProduct(ChildProduct $v = null)
    {
        if ($v === null) {
            $this->setProductId(NULL);
        } else {
            $this->setProductId($v->getId());
        }

        $this->aProduct = $v;

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


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

        if ($this->function_id !== $v) {
            $this->function_id = $v;
            $this->modifiedColumns[PersonFunctionLinkTableMap::FUNCTION_ID] = true;
        }

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


        return $this;
    }
1355117
public function setSkill(ChildSkill $v = null)
    {
        if ($v === null) {
            $this->setId(NULL);
        } else {
            $this->setId($v->getId());
        }

        $this->aSkill = $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->addSkillVersion($this);
        }


        return $this;
    }