控制器 namespace SystemBundle\Controller; use AppBundle\Controller\AjaxController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use AppBundle\Entity\User; class WorkerController extends AjaxController { /** * @Route("/{slug}/list", requirements={"slug": "allocator|deliverer|distributor|server"}) */ public function getlistAction(Request $request, $slug) { $session = $request->getSession(); $targetUser = $session->get('targetUser'); $workService = $this->get('system.worker'); $data = $workService->getList($targetUser, $slug); $ret = array( 'status' => self::STATUS_OK, 'data' => $data, ); return new JsonResponse($ret); }}
servrce(服务)
public function getList($targetUser, $index) { if ($index) { $queryIndex = User::ROLE_EMPLOYEE; } $warehouseId = $targetUser->getWarehouseId(); if (empty($warehouseId)) { return array(); } $sql = 'SELECT u FROM AppBundle:User u, AppBundle:UserRole ur, AppBundle:UserWarehouse ws WHERE u.id = ur.userId AND ur.role = :role AND ws.warehouseId = :warehouseId AND ws.userId = u.id'; $params['role'] = $queryIndex; $params['warehouseId'] = $warehouseId; $workerList = $this->entityManager->createQuery($sql)->setParameters($params)->getResult(); $data = array(); $data = $this->_buildWorkerDTO($workerList); return $data; }里面包含一些链表查询
symfony2 中 非yml的动态路由
最新推荐文章于 2024-06-27 14:10:32 发布