/**
  * @param Search $search
  * @return SearchResult
  */
 public function findBySearch(Search $search)
 {
     $builder = $this->createQueryBuilder('t')->innerJoin('t.paymentMethod', 'pm')->addSelect('pm')->leftJoin('t.details', 'd')->addSelect('d');
     // Filter
     if (!is_null($date = $search->getFilter('date'))) {
         $builder->andWhere('t.date = :date')->setParameter(':date', $date);
     }
     if (!is_null($thirdName = $search->getFilter('thirdName'))) {
         $builder->andWhere('t.thirdName LIKE :thirdName')->setParameter(':thirdName', '%' . $thirdName . '%');
     }
     // Orderby
     foreach ($search->getOrderby() as $key => $reverse) {
         switch ($key) {
             case 'amount':
                 $builder->addOrderBy('t.amount', $reverse === true ? 'ASC' : 'DESC');
                 break;
             case 'date':
                 $builder->addOrderBy('t.date', $reverse === true ? 'ASC' : 'DESC');
                 break;
             case 'paymentMethod':
                 $builder->addOrderBy('pm.name', $reverse === true ? 'ASC' : 'DESC');
                 break;
             case 'thirdName':
                 $builder->addOrderBy('t.thirdName', $reverse === true ? 'ASC' : 'DESC');
                 break;
         }
     }
     $builder->addOrderBy('t.id', 'DESC');
     // Page
     $builder->setMaxResults(20);
     $builder->setFirstResult($search->getPage() * 20);
     return new SearchResult($builder, $search);
 }
Beispiel #2
0
 /**
  * @param string $route
  * @param User $user
  * @return Search
  */
 public function get($route, User $user)
 {
     $search = $this->em->getRepository('AppBundle:Search')->findOneBy(array('route' => $route, 'user' => $user));
     if (is_null($search)) {
         $search = new Search();
         $search->setRoute($route)->setUser($user);
         $this->em->persist($search);
         $this->em->flush();
     }
     return $search;
 }
Beispiel #3
0
 /**
  * @param Search $search
  * @return SearchResult
  */
 public function findBySearch(Search $search)
 {
     $builder = $this->createQueryBuilder('m')->leftJoin('m.promotions', 'p')->addSelect('p')->leftJoin('p.rank', 'r')->addSelect('r')->leftJoin('m.memberships', 'ms');
     // Filter
     if (!is_null($city = $search->getFilter('city'))) {
         $builder->andWhere('m.city LIKE :city')->setParameter(':city', '%' . $city . '%');
     }
     if (!is_null($firstname = $search->getFilter('firstname'))) {
         $builder->andWhere('m.firstname LIKE :firstname')->setParameter(':firstname', '%' . $firstname . '%');
     }
     if (!is_null($lastname = $search->getFilter('lastname'))) {
         $builder->andWhere('m.lastname LIKE :lastname')->setParameter(':lastname', '%' . $lastname . '%');
     }
     if (!is_null($season = $search->getFilter('season'))) {
         $builder->andWhere('ms.season = :season')->setParameter(':season', $season);
     }
     // Orderby
     foreach ($search->getOrderby() as $key => $reverse) {
         switch ($key) {
             case 'age':
                 $builder->addOrderBy('m.birthday', $reverse === true ? 'ASC' : 'DESC');
                 break;
             case 'city':
                 $builder->addOrderBy('m.city', $reverse === true ? 'DESC' : 'ASC');
                 break;
             case 'firstname':
                 $builder->addOrderBy('m.firstname', $reverse === true ? 'DESC' : 'ASC');
                 break;
             case 'lastname':
                 $builder->addOrderBy('m.lastname', $reverse === true ? 'DESC' : 'ASC');
                 break;
         }
     }
     $builder->addOrderBy('m.id', 'ASC');
     // Page
     $builder->setMaxResults(20);
     $builder->setFirstResult($search->getPage() * 20);
     return new SearchResult($builder, $search);
 }
Beispiel #4
0
 public function setAllEnity(Request $request)
 {
     $entity = new Search();
     $entity->setUserName($request->get('appbundle_search_userName'));
     $entity->setPhoneNumber($request->get('appbundle_search_phoneNumber'));
     $entity->setMajor($request->get('appbundle_search_major'));
     $entity->setEnrollmentTime($request->get('appbundle_search_enrollmentTime'));
     $entity->setDepartment($request->get('appbundle_search_department'));
     $entity->setProfession($request->get('appbundle_search_profession'));
     $entity->setCompany($request->get('appbundle_search_company'));
     $entity->setJob($request->get('appbundle_search_job'));
     $entity->setAddress($request->get('address'));
     $entity->setTelephoneNumber($request->get('telephoneNumber'));
     $entity->setFaxNumber($request->get('faxNumber'));
     $entity->setEmail($request->get('email'));
     $entity->setDepartment($request->get('qqNumber'));
 }
Beispiel #5
0
 /**
  * @return int
  */
 public function getPage()
 {
     return $this->search->getPage();
 }
Beispiel #6
0
 /**
  * {@inheritDoc}
  */
 public function load(ObjectManager $manager)
 {
     $search = new Search();
     $search->setUserName('gg');
     $search->setPhoneNumber('13455566543');
     $search->setMajor('92水产');
     $search->setEnrollmentTime('1990');
     $search->setDepartment('水产学院');
     $search->setProfession('IT');
     $search->setCompany('google有限公司');
     $search->setJob('开发工程师');
     $search->setAddress('广东省深圳市');
     $search->setTelephoneNumber('83020447');
     $search->setFaxNumber('54699');
     $search->setEmail('*****@*****.**');
     $search->setQqNumber('444422331');
     $manager->persist($search);
     $search = new Search();
     $search->setUserName('FF');
     $search->setPhoneNumber('17446625374');
     $search->setMajor('90网络');
     $search->setEnrollmentTime('1983');
     $search->setDepartment('计算机学院');
     $search->setProfession('IT');
     $search->setCompany('google有限公司');
     $search->setJob('开发工程师');
     $search->setAddress('广东省汕头市');
     $search->setTelephoneNumber('83020447');
     $search->setFaxNumber('54755');
     $search->setEmail('*****@*****.**');
     $search->setQqNumber('884499332');
     $manager->persist($search);
     $search = new Search();
     $search->setUserName('BB');
     $search->setPhoneNumber('15549902341');
     $search->setMajor('89水产');
     $search->setEnrollmentTime('1987');
     $search->setDepartment('计算机学院');
     $search->setProfession('IT');
     $search->setCompany('google有限公司');
     $search->setJob('开发工程师');
     $search->setAddress('广东省深圳市');
     $search->setTelephoneNumber('83020447');
     $search->setFaxNumber('54633');
     $search->setEmail('*****@*****.**');
     $search->setQqNumber('990099112');
     $manager->persist($search);
     $search = new Search();
     $search->setUserName('KK');
     $search->setPhoneNumber('19239902854');
     $search->setMajor('91蔬菜');
     $search->setEnrollmentTime('1989');
     $search->setDepartment('农业学院');
     $search->setProfession('IT');
     $search->setCompany('农业有限公司');
     $search->setJob('农业研发');
     $search->setAddress('广东省深圳市');
     $search->setTelephoneNumber('83020447');
     $search->setFaxNumber('54677');
     $search->setEmail('*****@*****.**');
     $search->setQqNumber('223344556');
     $manager->persist($search);
     $manager->flush();
 }