我与实体用户完美登录。当我登录时,我可以通过Security.Context访问用户。我可以包含另一个表格,例如UserSettings到security.context?我必须在实体User.php中做什么。
我的实体User.php:
<?php
namespace Frontend\AccountBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\Exception\DisabledException;
/**
* User
*
* @ORM\Table(name="user")
* @ORM\Entity
* @UniqueEntity("email")
*/
class User implements AdvancedUserInterface, \Serializable {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
...
public function getId()
{
return $this->id;
}
...
我的UserSettings.php:
<?php
namespace Frontend\AccountBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* UserSettings
*
* @ORM\Table(name="user_settings")
* @ORM\Entity
*/
class UserSettings
{
/**
* @var \Language
*
* @ORM\ManyToOne(targetEntity="Language")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="locale", referencedColumnName="id")
* })
*/
private $locale;
/**
* @var \User
*
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
* @ORM\OneToOne(targetEntity="User")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="id")
* })
*/
private $id;
/**
* Set locale
*
* @param \Frontend\AccountBundle\Entity\Language $locale
* @return UserSettings
*/
public function setLocale(\Frontend\AccountBundle\Entity\Language $locale = null)
{
$this->locale = $locale;
return $this;
}
/**
* Get locale
*
* @return \Frontend\AccountBundle\Entity\Language
*/
public function getLocale()
{
return $this->locale;
}
/**
* Set id
*
* @param \Frontend\AccountBundle\Entity\User $id
* @return UserSettings
*/
public function setId(\Frontend\AccountBundle\Entity\User $id)
{
$this->id = $id;
return $this;
}
/**
* Get id
*
* @return \Frontend\AccountBundle\Entity\User
*/
public function getId()
{
return $this->id;
}
}