mirror of
https://github.com/wallabag/wallabag.git
synced 2025-10-15 19:42:08 +00:00
add relation between entry and tag
This commit is contained in:
parent
6d37a7e6c1
commit
0a018fe039
6 changed files with 53 additions and 122 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Wallabag\CoreBundle\Entity;
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Symfony\Component\Validator\Constraints as Assert;
|
||||
use Hateoas\Configuration\Annotation as Hateoas;
|
||||
|
@ -118,12 +119,22 @@ class Entry
|
|||
*/
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="Tag", inversedBy="entries", cascade={"persist", "merge"})
|
||||
* @ORM\JoinTable(name="tags_entries",
|
||||
* joinColumns={@ORM\JoinColumn(name="entry_id", referencedColumnName="id")},
|
||||
* inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id")}
|
||||
* )
|
||||
*/
|
||||
private $tags;
|
||||
|
||||
/*
|
||||
* @param User $user
|
||||
*/
|
||||
public function __construct(User $user)
|
||||
{
|
||||
$this->user = $user;
|
||||
$this->tags = new ArrayCollection();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -381,4 +392,20 @@ class Entry
|
|||
{
|
||||
$this->isPublic = $isPublic;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ArrayCollection<Tag>
|
||||
*/
|
||||
public function getTags()
|
||||
{
|
||||
return $this->tags;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Tag $tag
|
||||
*/
|
||||
public function addTag(Tag $tag)
|
||||
{
|
||||
$this->tags[] = $tag;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ namespace Wallabag\CoreBundle\Entity;
|
|||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use JMS\Serializer\Annotation\XmlRoot;
|
||||
use JMS\Serializer\Annotation\ExclusionPolicy;
|
||||
use JMS\Serializer\Annotation\Expose;
|
||||
|
||||
/**
|
||||
* Tag
|
||||
|
@ -11,12 +13,14 @@ use JMS\Serializer\Annotation\XmlRoot;
|
|||
* @XmlRoot("tag")
|
||||
* @ORM\Table(name="tag")
|
||||
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TagRepository")
|
||||
* @ExclusionPolicy("all")
|
||||
*/
|
||||
class Tag
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*
|
||||
* @Expose
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
|
@ -26,10 +30,16 @@ class Tag
|
|||
/**
|
||||
* @var string
|
||||
*
|
||||
* @Expose
|
||||
* @ORM\Column(name="label", type="text")
|
||||
*/
|
||||
private $label;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="Entry", mappedBy="tags", cascade={"persist", "merge"})
|
||||
*/
|
||||
private $entries;
|
||||
|
||||
/**
|
||||
* Get id
|
||||
*
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Wallabag\CoreBundle\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
|
||||
/**
|
||||
* TagsEntries
|
||||
*
|
||||
* @ORM\Table(name="tags_entries")
|
||||
* @ORM\Entity
|
||||
*/
|
||||
class TagsEntries
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*
|
||||
* @ORM\Column(name="id", type="integer")
|
||||
* @ORM\Id
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
*/
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
*
|
||||
* @ORM\Column(name="entry_id", type="integer")
|
||||
*/
|
||||
private $entryId;
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
*
|
||||
* @ORM\Column(name="tag_id", type="integer")
|
||||
*/
|
||||
private $tagId;
|
||||
|
||||
/**
|
||||
* Get id
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set entryId
|
||||
*
|
||||
* @param integer $entryId
|
||||
* @return TagsEntries
|
||||
*/
|
||||
public function setEntryId($entryId)
|
||||
{
|
||||
$this->entryId = $entryId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get entryId
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function getEntryId()
|
||||
{
|
||||
return $this->entryId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set tagId
|
||||
*
|
||||
* @param integer $tagId
|
||||
* @return TagsEntries
|
||||
*/
|
||||
public function setTagId($tagId)
|
||||
{
|
||||
$this->tagId = $tagId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tagId
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function getTagId()
|
||||
{
|
||||
return $this->tagId;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue