symfony2 中 非yml的动态路由

来源:互联网 发布:苹果7手机淘宝打不开 编辑:程序博客网 时间:2024/04/30 15:53
控制器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;}
里面包含一些链表查询

1 0
原创粉丝点击