首页 > 解决方案 > Symfony - 手动添加附加字段

问题描述

我写了一个查询来返回数据库中的所有数据。现在,我需要添加一个额外的字段。api 调用应该收到一个额外的字段 - “term”。当通过术语时,将过滤结果以匹配该术语。

我的服务。

/**
 * Return all schools from city
 *
 * @param int $limit
 * @param int $offset
 * @return array
 */
public function getCityPaginated($limit = 20, $offset = 0)
{

    $query = $this->getCityRepository()
        ->createQueryBuilder('c')
        ->getQuery();

    return $this->container->get('paginator')->paginate($query, $offset, $limit);
}

我的控制器..

/**
 * @Route("/cities", name="city_list")
 * @throws \Doctrine\Common\Annotations\AnnotationException
 */
public function getCityPaginatedAction()
{
    if(isset($this->data['offset'])){
        $offset = $this->data['offset'];
    }else {
        $offset = 0;
    }

    if(isset($this->data['limit'])){
        $limit = $this->data['limit'];
    }else{
        $limit = 20;
    }

    $city = $this->get('city')->getCityPaginated($limit, $offset);

    return $this->success($city, ['city_data']);
}

标签: phpfunctionsymfony

解决方案


如果我理解正确,您需要获取 POST 参数吗?

public function getCityPaginatedAction(Request $request)
{
   $term = $request->request->get('term');

推荐阅读