Symfony学说加入其他表

I am having troubles with joining tables via ORM mapping

This is my Follow Entity

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;
    }
}

I want $userId to contains User, not just userId. I have tried to join with Doctrine mapping,but it is not working.

How should i do it right way?

Thank you!

You should remove the line @ORM\Column(name="user_id", type="integer") which overrides your mapping and leave just:

/**
 * @ORM\ManyToOne(targetEntity="User", inversedBy="users")
 * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 */
protected $user;

Also you should name your property just $user, not $userId as it contains User object, not its ID.

The line @ORM\JoinColumn(name="user_id", referencedColumnName="id") in this case is not necessary as Doctrine will name this field user_id itself.

Please read more about Doctrine mappings here.