/**
	 * Filter the query by a related AncienEtablissement object
	 *
	 * @param     AncienEtablissement|PropelCollection $ancienEtablissement The related object(s) to use as filter
	 * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
	 *
	 * @return    JEleveAncienEtablissementQuery The current query, for fluid interface
	 */
	public function filterByAncienEtablissement($ancienEtablissement, $comparison = null)
	{
		if ($ancienEtablissement instanceof AncienEtablissement) {
			return $this
				->addUsingAlias(JEleveAncienEtablissementPeer::ID_ETABLISSEMENT, $ancienEtablissement->getId(), $comparison);
		} elseif ($ancienEtablissement instanceof PropelCollection) {
			if (null === $comparison) {
				$comparison = Criteria::IN;
			}
			return $this
				->addUsingAlias(JEleveAncienEtablissementPeer::ID_ETABLISSEMENT, $ancienEtablissement->toKeyValue('PrimaryKey', 'Id'), $comparison);
		} else {
			throw new PropelException('filterByAncienEtablissement() only accepts arguments of type AncienEtablissement or PropelCollection');
		}
	}
	/**
	 * Exclude object from result
	 *
	 * @param     AncienEtablissement $ancienEtablissement Object to remove from the list of results
	 *
	 * @return    AncienEtablissementQuery The current query, for fluid interface
	 */
	public function prune($ancienEtablissement = null)
	{
		if ($ancienEtablissement) {
			$this->addUsingAlias(AncienEtablissementPeer::ID, $ancienEtablissement->getId(), Criteria::NOT_EQUAL);
		}

		return $this;
	}
	/**
	 * Declares an association between this object and a AncienEtablissement object.
	 *
	 * @param      AncienEtablissement $v
	 * @return     JEleveAncienEtablissement The current object (for fluent API support)
	 * @throws     PropelException
	 */
	public function setAncienEtablissement(AncienEtablissement $v = null)
	{
		if ($v === null) {
			$this->setIdEtablissement('');
		} else {
			$this->setIdEtablissement($v->getId());
		}

		$this->aAncienEtablissement = $v;

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

		return $this;
	}