1
我有兩個實體郵政和標籤這個實體有關係ManyToMany,許多職位有很多標籤和許多標籤有很多職位,並有實體類別我很多職位的一個類別,我需要創建行動查找職位類別和發現後的標籤如何查找實體ManyToMany
class Tag
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=100)
*/
protected $hashTag;
/**
* @Gedmo\Slug(fields={"hashTag"})
* @ORM\Column(type="string", length=12)
*/
protected $hashSlug;
/**
* @ORM\ManyToMany(targetEntity="Post", inversedBy="tag")
* @ORM\JoinColumn(name="post_id", referencedColumnName="id")
*/
protected $post;
類別:
class Category
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/**
* @ORM\Column(name="title", type="string", length=64)
*/
private $title;
/**
* @ORM\OneToMany(targetEntity="Post", mappedBy="category")
*/
protected $posts;
後
class Post
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", nullable=true)
*/
private $title;
/**
* @ORM\ManyToMany(targetEntity="Tag", mappedBy="post")
* @ORM\JoinTable(name="posts_tag")
*/
protected $tag;
和我的模板我張貼在我的行動領域包括hashtag:
<p class="lead">
Category:<a href="{{ path('get_posts_for_category', {'category': post.category.title}) }}">{{ post.category }}</a>
</p>
{% for tags in post.tag %}
<a class="btn btn-primary" href="{{ path('get_posts_for_tags', {'tags': tags }) }}">{{ tags }} <span class="glyphicon glyphicon-chevron-right"></span></a>
{% endfor %}
public function indexAction(Request $request, $tag)
{
$em = $this->getDoctrine()->getManager();
$posts = $em->getRepository('PillsBundle:Post')
->getPostByTag($tags);
這到底是功能:
public function getPostByTag($tag)
{
$date = new \DateTime;
$qb = $this->getEntityManager()->createQueryBuilder('p');
$qb
->select('p')
->from('PillsBundle:Post', 'p')
->getQuery();
$query = $qb->getQuery();
$results = $query->getResult();
// dump($results);exit; => I have all posts
// And I dont know what to do next, help
}
和第一類:
public function indexAction(Request $request, $category)
{
$em = $this->getDoctrine()->getManager();
$posts = $em->getRepository('PillsBundle:Post')
->getPostByCategory($category);
public function getPostByCategory($category)
{
$date = new \DateTime;
$qb = $this->getEntityManager()->createQueryBuilder('p');
$qb ->select('p')
->from('PillsBundle:Post', 'p')
->join('p.category', 'c')
->where('c = :category')
->setParameter('category', $category)
->getQuery();
$query = $qb->getQuery();
$results = $query->getResult();
return $results;
}
如果我用這個QueryBuilder的我張貼(現在我張貼categoty.slug)這個功能需要? 幫助請
我更新我的問題 –
更新我的答案:) –
我更新我的問題。 $標記它不是實體CLAS標籤,這是場主題標籤,並在模板我forin帖子,並在行動hasTag這foring標籤和後'{%,爲post.tag%標籤} {{ tags }} {%ENDFOR%}' –