public static function getMissingWaiversPager($max = 10, $page = 1, $miss_date1 = null, $miss_date2 = null, $pass_name = null, $pilot_name = null, $wing = null) { $c = new Criteria(); $c->addJoin(self::MISSION_ID, MissionPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(MissionPeer::PASSENGER_ID, PassengerPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(self::PILOT_ID, PilotPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(PilotPeer::MEMBER_ID, MemberPeer::alias('m2', MemberPeer::ID), Criteria::LEFT_JOIN); //person $c->addJoin(PassengerPeer::PERSON_ID, PersonPeer::alias('p1', PersonPeer::ID), Criteria::LEFT_JOIN); $c->addJoin(MemberPeer::alias('m2', MemberPeer::PERSON_ID), PersonPeer::alias('p2', PersonPeer::ID), Criteria::LEFT_JOIN); $c->addAlias('p1', PersonPeer::TABLE_NAME); $c->addAlias('p2', PersonPeer::TABLE_NAME); $c->addAlias('m1', MemberPeer::TABLE_NAME); $c->addAlias('m2', MemberPeer::TABLE_NAME); //member $c->addJoin(PersonPeer::alias('p1', PersonPeer::ID), MemberPeer::alias('m1', MemberPeer::PERSON_ID), Criteria::LEFT_JOIN); if (!empty($miss_date1) && !empty($miss_date2)) { $miss_date1 = date('Y-m-d', strtotime($miss_date1)) . ' 00:00:00'; $miss_date2 = date('Y-m-d', strtotime($miss_date2)) . ' 00:00:00'; $criterion = $c->getNewCriterion(MissionPeer::MISSION_DATE, $miss_date1, Criteria::GREATER_EQUAL); $criterion->addAnd($c->getNewCriterion(MissionPeer::MISSION_DATE, $miss_date2, Criteria::LESS_EQUAL)); $c->add($criterion); } elseif ($miss_date1) { $miss_date1 = date('Y-m-d', strtotime($miss_date1)) . ' 00:00:00'; $c->add(MissionPeer::MISSION_DATE, $miss_date1, Criteria::GREATER_EQUAL); } elseif ($miss_date2) { $miss_date2 = date('Y-m-d', strtotime($miss_date2)) . ' 00:00:00'; $c->add(MissionPeer::MISSION_DATE, $miss_date2, Criteria::GREATER_EQUAL); } if ($pass_name) { $criterion = $c->getNewCriterion(PersonPeer::alias("p1", PersonPeer::FIRST_NAME), $pass_name . '%', Criteria::LIKE); $criterion->addOr($c->getNewCriterion(PersonPeer::alias("p1", PersonPeer::LAST_NAME), $pass_name . '%', Criteria::LIKE)); $c->add($criterion); } if ($pilot_name) { $criterion = $c->getNewCriterion(PersonPeer::alias("p2", PersonPeer::FIRST_NAME), $pilot_name . '%', Criteria::LIKE); $criterion->addOr($c->getNewCriterion(PersonPeer::alias("p2", PersonPeer::LAST_NAME), $pilot_name . '%', Criteria::LIKE)); $c->add($criterion); } if ($wing) { $c->add(MemberPeer::alias('m1', MemberPeer::WING_ID), $wing); } $c->add(self::WAIVER_RECEIVED, null, Criteria::ISNULL); $c->addAscendingOrderByColumn(self::ID); // return self::doSelect($c); $pager = new sfPropelPager('MissionLeg', $max); $pager->setCriteria($c); $pager->setPage($page); $pager->init(); return $pager; }