我有2张桌子。一个有2个主键,即复合键。同样是另一个表中的外键。现在Doctrine始终返回外键的对象而不是值。在单个主键的情况下,我已经设法得到它,但在复合的情况下,我不知道如何做到这一点。
单个主键的代码如下:
$patient = $this->entity->getPatient();
$patient_vars = $patient->toString(); // Inernal function to get private variables
$em = $this->doctrine->getManager();
$metaLabTest = $em->getClassMetadata(get_class($patient));
$identifierLabTest = $metaLabTest->getIdentifier($patient);
$metaPatient = $em->getClassMetadata(get_class($patient_vars[$identifierLabTest[0]]));
$identifierPatient = $metaPatient->getIdentifier();
$getFn = "get".$identifierPatient[0];
return $patient_vars[$identifierLabTest[0]]->$getFn();
对上述任何建议都会受到赞赏,而且我对学说和symfony都很新。
提前致谢。