У меня есть компания для Компании и юридическое лицо для обзора. Компания имеет несколько обзоров.Doctrine, @oneToMany, но только с активированным полем
Когда я звоню в company->getReviews()
, я хочу, чтобы он возвращал ТОЛЬКО отзыв, что поле isValidated
- TRUE
.
Как я могу это сделать? Какой путь лучше?
/**
* @ORM\Table(name="Company")
*/
class Company
{
/**
* @ORM\OneToMany(targetEntity="MyAppBundle\Entity\Review", mappedBy="company")
*/
protected $reviews;
/**
* Add reviews
*
* @param \ProSearch\ReviewBundle\Entity\Review $reviews
* @return Company
*/
public function addReview(\ProSearch\ReviewBundle\Entity\Review $reviews)
{
$this->reviews[] = $reviews;
return $this;
}
/**
* Remove reviews
*
* @param \ProSearch\ReviewBundle\Entity\Review $reviews
*/
public function removeReview(\ProSearch\ReviewBundle\Entity\Review $reviews)
{
$this->reviews->removeElement($reviews);
}
/**
* Get reviews
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getReviews()
{
return $this->reviews;
}
}
And the review entity :
/**
* @ORM\Table()
* @ORM\Entity()
*/
class Review
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
protected $title;
/**
* @var string
*
* @ORM\Column(name="description", type="text")
*/
protected $description;
/**
* @ORM\ManyToOne(targetEntity="MyAppBundle\Entity\Company")
*/
protected $company;
/**
* @var boolean
*
* @ORM\Column(name="isValidated", type="boolean")
*/
protected $isValidated;
}