/** * @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); }
/** * @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; }
/** * @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); }
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')); }
/** * @return int */ public function getPage() { return $this->search->getPage(); }
/** * {@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(); }