通过阅读文档和另一个 stackoverflow 帖子,我认为如果我只想返回几列数据,则学说中的正确方法是使用部分。(这是一个只读查询)。
但是,下面的代码返回所有 100 列,而不是我确定的 3 列。有人可以解释为什么吗?
谢谢,马尼沙
public function showAction(Request $request)
{
if ($request->getMethod() == 'GET') {
$id = $request->get('locationid');
$kfType = $request->get('type');
$em = $this->getDoctrine()
->getManager();
$data = $em->createQueryBuilder()
->select ( array( 'partial d.{id, locationid, kfFyp}' ))
->from('DashDataBundle:Data', 'd')
->where('d.locationid = :locationid')
->setParameter('locationid', $id)
->setMaxResults(100)
->getQuery()
->getResult();
}