我document entity
与documentstags entity
有一对多关系。
我如何检查某些文件是否与某些"标签"的文件标签有关?列值?
文件实体:
/**
* @ORM\OneToMany(targetEntity="Documentstags", mappedBy="documentid")
*/
protected $tags;
Documentstags实体:
/**
* @ORM\Column(type="string", length=220)
*/
protected $tag;
我如何检查文档A是否与Documentstags项目相关,哪个标记值为例如乙
目前我已将以下代码实现为Documents entity
的功能,但它似乎没有效果:
$tags = $this->getTags();
$is_zatwierdzony = false;
foreach($tags as $tag)
{
if($tag.tag == $this->avaliabletags['zatwierdzony']['name']) $is_zatwierdzony = true
}
答案 0 :(得分:2)
你可以使用Criteria类:
例如:
...
use Doctrine\Common\Collections\Criteria;
...
public function getMatchingTags()
{
$criteria = Criteria::create()
->where(Criteria::expr()->eq("tag", $this->avaliabletags['zatwierdzony']['name']));
$tags = $this->getTags()->matching($criteria);
#do something with matching tags
}
Doctrine2文档:Filtering Collections