コード例 #1
0
ファイル: MissionLegPeer.php プロジェクト: yasirgit/afids
 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;
 }