0
從閱讀文檔和另一個stackoverflow後,我認爲如果我只想返回幾列數據,正確的方法在教條是使用部分。 (這是一個只讀查詢)。Symfony2 Doctrine2使用部分
但是,下面的代碼返回所有100列,而不是我確定的3。有人能解釋爲什麼嗎?
感謝, MANISHA
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();
}
謝謝!這使它像我希望的那樣工作,只顯示了我在返回的數組中要求的字段而不是整個對象。 – manisha
因爲我沒有使用整個對象,我應該用QueryBuilder嗎?最好只使用DQL? – manisha
沒有太大的區別。可能純粹的dql快一點。它只是建立查詢,沒有別的 –