Php Symfony原则连接其他表
我在通过ORM映射连接表时遇到问题 这是我的跟踪实体Php Symfony原则连接其他表,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我在通过ORM映射连接表时遇到问题 这是我的跟踪实体 namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="follows") */ class Follow { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strateg
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="follows")
*/
class Follow
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="user_id", type="integer")
* @ORM\ManyToOne(targetEntity="User", inversedBy="users")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $userId;
/**
* @ORM\Column(name="follower_id", type="integer")
*/
protected $followerId;
/**
* @ORM\Column(name="is_active", type="boolean")
*/
protected $isActive = true;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Get user id
*
* @return integer
*/
public function getUserId()
{
return $this->userId;
}
/**
* Get follower id
*
* @return integer
*/
public function getFollowerId()
{
return $this->followerId;
}
/**
* Get is active
*
* @return integer
*/
public function isActive()
{
return $this->isActive;
}
/**
* Set user id
*/
public function setUserId($userId)
{
$this->userId = $userId;
}
/**
* Set follower id
*/
public function setFollowerId($followerId)
{
$this->followerId = $followerId;
}
/**
* Set active
*/
public function setActive($active)
{
$this->isActive = $active;
}
}
我希望$userId包含User,而不仅仅是userId。我曾尝试加入条令映射,但它不起作用
我该怎么做才对呢
谢谢大家! 应该删除覆盖映射的@ORM\Columnname=user\u id,type=integer行,只留下:
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="users")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
protected $user;
另外,您应该将属性命名为$user,而不是$userId,因为它包含用户对象,而不是其ID
在这种情况下,@ORM\JoinColumnname=user\u id,referencedColumnName=id行是不必要的,因为条令会将此字段命名为user\u id本身
请阅读更多有关条令映射的信息。好的,谢谢。但是,如果我有两个属性需要包含user。看,我有Follow->userId和Follow->followerId。两者都是用户id,第二个是用户id,紧跟第一个。orm映射应该是什么样子?这不是问题,只需再添加一个关联即可。它将是相同的,只是它将有不同的名称。