add a real relation between user and entry

This commit is contained in:
Nicolas Lœuillet 2015-02-06 15:18:54 +01:00 committed by Jeremy
parent 8af35ad932
commit 5f09650eef
2 changed files with 44 additions and 26 deletions

View file

@ -81,13 +81,6 @@ class Entry
*/ */
private $updatedAt; private $updatedAt;
/**
* @var string
*
* @ORM\Column(name="user_id", type="decimal", precision=10, scale=0, nullable=true)
*/
private $userId;
/** /**
* @var string * @var string
* *
@ -123,6 +116,19 @@ class Entry
*/ */
private $isPublic; private $isPublic;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="entries")
*/
private $user;
/*
* @param User $user
*/
public function __construct(User $user)
{
$this->user = $user;
}
/** /**
* Get id * Get id
* *
@ -263,26 +269,11 @@ class Entry
} }
/** /**
* Set userId * @return User
*
* @param string $userId
* @return Entry
*/ */
public function setUserId($userId) public function getUser()
{ {
$this->userId = $userId; return $this->user;
return $this;
}
/**
* Get userId
*
* @return string
*/
public function getUserId()
{
return $this->userId;
} }
/** /**

View file

@ -2,6 +2,7 @@
namespace Wallabag\CoreBundle\Entity; namespace Wallabag\CoreBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\AdvancedUserInterface; use Symfony\Component\Security\Core\User\AdvancedUserInterface;
@ -78,10 +79,16 @@ class User implements AdvancedUserInterface, \Serializable
*/ */
private $updatedAt; private $updatedAt;
/**
* @ORM\OneToMany(targetEntity="Entry", mappedBy="user", cascade={"remove"})
*/
private $entries;
public function __construct() public function __construct()
{ {
$this->isActive = true; $this->isActive = true;
$this->salt = md5(uniqid(null, true)); $this->salt = md5(uniqid(null, true));
$this->entries = new ArrayCollection();
} }
/** /**
@ -231,6 +238,26 @@ class User implements AdvancedUserInterface, \Serializable
return $this->updatedAt; return $this->updatedAt;
} }
/**
* @param Entry $entry
*
* @return User
*/
public function addEntry(Entry $entry)
{
$this->entries[] = $entry;
return $this;
}
/**
* @return ArrayCollection<Entry>
*/
public function getEntries()
{
return $this->entries;
}
/** /**
* @inheritDoc * @inheritDoc
*/ */