Doctrine2:如何为给定的id获取具有ManyToOne关系的反向边实体之一

时间:2015-12-11 10:34:20

标签: php symfony doctrine-orm doctrine-1.2

我有两个与ManyToOne关系的学说实体:

/**
 * @ORM\ManyToOne(targetEntity="Iballot\CmsBundle\Entity\PollingStation2", cascade={"persist"})
 * @ORM\JoinColumn(nullable=false)
 * @Expose
 */
private $pollingStation2;

我想获得给定PollingStation2 ID的特定结果,我尝试过但不起作用:

public function getPresidential($polId)
{
    $qb = $this->createQueryBuilder('r');
    $qb->where('r.pollingStation2 = :polling_station2_id')
       ->setParameter('polling_station2_id', $polId);

    return $qb->getQuery()
               ->getResult();
}

实体

namespace Iballot\CmsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * PollingStation2
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Iballot\CmsBundle\Entity\PollingStation2Repository")
 */
class PollingStation2
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="verfierNumber", type="integer", length=255, nullable=true)
     */
    protected $verfierNumber;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="verifier_number", type="string", length=255)
     */
    private $verifierNumber;

    /**
     * @var string
     *
     * @ORM\Column(name="address", type="string", length=255)
     */
    private $address;


    /**
    * @ORM\OneToMany(targetEntity="Iballot\CmsBundle\Entity\PollingStation2", mappedBy="pollingStation")
    */
    protected $result;

    /**
    * @ORM\ManyToOne(targetEntity="Iballot\CmsBundle\Entity\Constituency", cascade={"persist"})
    * @ORM\JoinColumn(nullable=false)
    */
    private $constituency;


    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    public function __toString() {
        return $this->getName();
    }

    /**
     * Set name
     *
     * @param string $name
     *
     * @return PollingStation2
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set address
     *
     * @param string $address
     *
     * @return PollingStation2
     */
    public function setAddress($address)
    {
        $this->address = $address;

        return $this;
    }

    /**
     * Get address
     *
     * @return string
     */
    public function getAddress()
    {
        return $this->address;
    }

    /**
     * Set verifierNumber
     *
     * @param integer $verifierNumber
     *
     * @return PollingStation2
     */
    public function setVerifierNumber($verifierNumber)
    {
        $this->verifierNumber = $verifierNumber;

        return $this;
    }

    /**
     * Get verifierNumber
     *
     * @return integer
     */
    public function getVerifierNumber()
    {
        return $this->verifierNumber;
    }

    /**
     * Set verfierNumber
     *
     * @param integer $verfierNumber
     *
     * @return PollingStation2
     */
    public function setVerfierNumber($verfierNumber)
    {
        $this->verfierNumber = $verfierNumber;

        return $this;
    }

    /**
     * Get verfierNumber
     *
     * @return integer
     */
    public function getVerfierNumber()
    {
        return $this->verfierNumber;
    }

    /**
     * Set constituency
     *
     * @param \Iballot\CmsBundle\Entity\Constituency $constituency
     *
     * @return PollingStation2
     */
    public function setConstituency(\Iballot\CmsBundle\Entity\Constituency $constituency)
    {
        $this->constituency = $constituency;

        return $this;
    }


    /**
     * Get constituency
     *
     * @return \Iballot\CmsBundle\Entity\Constituency
     */
    public function getConstituency()
    {
        return $this->constituency;
    }



    /**
     * Constructor
     */
    public function __construct()
    {
        $this->result = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Add result
     *
     * @param \Iballot\CmsBundle\Entity\PollingStation2 $result
     *
     * @return PollingStation2
     */
    public function addResult(\Iballot\CmsBundle\Entity\PollingStation2 $result)
    {
        $this->result[] = $result;

        return $this;
    }

    /**
     * Remove result
     *
     * @param \Iballot\CmsBundle\Entity\PollingStation2 $result
     */
    public function removeResult(\Iballot\CmsBundle\Entity\PollingStation2 $result)
    {
        $this->result->removeElement($result);
    }

    /**
     * Get result
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getResult()
    {
        return $this->result;
    }
}

0 个答案:

没有答案