จากการอ่านเอกสารและโพสต์ 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();
}