/**
  * Filter the query by a related \Thelia\Model\Coupon object
  *
  * @param \Thelia\Model\Coupon|ObjectCollection $coupon The related object(s) to use as filter
  * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return ChildCouponCountryQuery The current query, for fluid interface
  */
 public function filterByCoupon($coupon, $comparison = null)
 {
     if ($coupon instanceof \Thelia\Model\Coupon) {
         return $this->addUsingAlias(CouponCountryTableMap::COUPON_ID, $coupon->getId(), $comparison);
     } elseif ($coupon instanceof ObjectCollection) {
         if (null === $comparison) {
             $comparison = Criteria::IN;
         }
         return $this->addUsingAlias(CouponCountryTableMap::COUPON_ID, $coupon->toKeyValue('PrimaryKey', 'Id'), $comparison);
     } else {
         throw new PropelException('filterByCoupon() only accepts arguments of type \\Thelia\\Model\\Coupon or Collection');
     }
 }