Php 从Symfony 2.3中的数据库中提取值

Php 从Symfony 2.3中的数据库中提取值,php,symfony,doctrine,Php,Symfony,Doctrine,我用的是symfony2.3 我有一个功能,可以让我在按下时发送电子邮件通知。它发送电子邮件和所有东西,但当我想从数据库中检索一个id作为电子邮件主题的一部分发送时,它就不起作用了 private function updateForm($data) { $repository = $this->getDoctrine()->getRepository('MainBundle:Unity'); $attached = $repository-

我用的是symfony2.3

我有一个功能,可以让我在按下时发送电子邮件通知。它发送电子邮件和所有东西,但当我想从数据库中检索一个id作为电子邮件主题的一部分发送时,它就不起作用了

private function updateForm($data)
    {
$repository = $this->getDoctrine()->getRepository('MainBundle:Unity');     
            $attached = $repository->find('unityid');

$message = \Swift_Message::newInstance()
                ->setSubject($attached)
                ->setFrom('some@email')
                ->setTo('some@email')
                ->setBody($attached);
                $this->get('mailer')->send($message);
return true;
}
我不知道为什么我无法检索ID。我的操作与Symfony文档所述完全相同


我缺少什么?

假设您想要从基于
unityid
Unity
实体中获取
Id
。要根据特定列对记录进行微调,可以使用
findOneBy()
findBy()
。在这里,我们使用
findOneBy()
doctrine函数来获取单个。确保已将
替换为您的值

$attached = $repository->findOneBy(array('unityid' => '<Your value>'));

你拿那个身份证干什么?打印或返回该id?返回真实!我只是在->setBodyThe中将其发送到电子邮件存储库
find()
方法通过其主键/标识符查找实体
'unityid'
看起来可能是一个列名,而不是主键值。是的,它是一个列名。如何从特定列中获取值?谢谢!这就是我要找的!
<?php
    private function updateForm($data)
    {
        $repository = $this->getDoctrine()->getRepository('MainBundle:Unity');     
        $attached = $repository->findOnyBy(array('unityid' => '<Your value>'));

        $message = \Swift_Message::newInstance()
            ->setSubject($attached->getId()) // $attached->getId() returns value of "id" column
            ->setFrom('some@email')
            ->setTo('some@email')
            ->setBody($attached);
            $this->get('mailer')->send($message);
        return true;
    }