在 FOSUserBundle 的 user.php 中添加外键时出错

Error while adding a foreign key in user.php at FOSUserBundle

我正在使用 FOSUserBundle。我试图向 User.php 添加一个外键(class User extends BaseUser)但这不起作用,因为它总是显示错误。你们能帮帮我吗?我是 symfony 的新手:

User.php:

这是错误:

如果你能帮助我,我将不胜感激,我尝试了很多东西,但都没有用。 我想知道这个错误的原因是什么。 提前谢谢你

这是 Equipe.php 的代码:

 <?php
/**
 * Created by PhpStorm.
 * User: Nouha
 * Date: 06/04/2017
 * Time: 16:07
 */

namespace MyApp\EspritBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
 * Class Equipe
 * @ORM\Entity
 */

class Equipe
{
    /**
     * @ORM\Id
     * @ORM\Column(name="id", type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $idEq;

    /**
     * @ORM\Column(type="string", nullable=true)
     */

    private $nomEq;


    /**
     * @return mixed
     */
    public function getIdEq()
    {
        return $this->idEq;
    }


    /**
     * @return mixed
     */
    public function getNomEq()
    {
        return $this->nomEq;
    }

    /**
     * @param mixed $nomEq
     */
    public function setNomEq($nomEq)
    {
        $this->nomEq = $nomEq;
    }

}

这是 User.php 的代码:

    <?php
    // src/AppBundle/Entity/User.php

    namespace MyApp\EspritBundle\Entity;


use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;


/**
 * @ORM\Entity
 * @ORM\Table(name="utilisateur")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $RaisonSociale;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $tel;

    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $tva;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $fax;

    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $site;

    /**
     * @ORM\Column(type="string", nullable=true)
     */
    private $ville;

    /*
     * @ORM\Column(type="integer", nullable=true)
     */
    private $cp;

    /**
     *@ORM\ManyToOne(targetEntity="Equipe")
     *@ORM\JoinColumn(name="idEq", referencedColumnName="idEq")
     */

    private $id_equipe;

    /**
     * @return mixed
     */


    public function getRaisonSociale()
    {
        return $this->RaisonSociale;
    }

    /**
     * @param mixed $RaisonSociale
     */
    public function setRaisonSociale($RaisonSociale)
    {
        $this->RaisonSociale = $RaisonSociale;
    }

    /**
     * @return mixed
     */
    public function getCp()
    {
        return $this->cp;
    }

    /**
     * @param mixed $cp
     */
    public function setCp($cp)
    {
        $this->cp = $cp;
    }

    /**
     * @return mixed
     */
    public function getFax()
    {
        return $this->fax;
    }

    /**
     * @param mixed $fax
     */
    public function setFax($fax)
    {
        $this->fax = $fax;
    }

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     */
    public function setId($id)
    {
        $this->id = $id;
    }

    /**
     * @return mixed
     */
    public function getTel()
    {
        return $this->tel;
    }

    /**
     * @param mixed $tel
     */
    public function setTel($tel)
    {
        $this->tel = $tel;
    }

    /**
     * @return mixed
     */
    public function getTva()
    {
        return $this->tva;
    }

    /**
     * @param mixed $tva
     */
    public function setTva($tva)
    {
        $this->tva = $tva;
    }

    /**
     * @return mixed
     */
    public function getSite()
    {
        return $this->site;
    }

    /**
     * @param mixed $site
     */
    public function setSite($site)
    {
        $this->site = $site;
    }

    /**
     * @return mixed
     */
    public function getVille()
    {
        return $this->ville;
    }

    /**
     * @param mixed $ville
     */
    public function setVille($ville)
    {
        $this->ville = $ville;
    }

    /**
     * @return mixed
     */
    public function getIdEquipe()
    {
        return $this->id_equipe;
    }

    /**
     * @param mixed $id_equipe
     */
    public function setIdEquipe($id_equipe)
    {
        $this->id_equipe = $id_equipe;
    }
}

我不确定,但你可以尝试类似的方法:

/**
 * @ORM\ManyToOne(targetEntity="Equipe")
 * @ORM\JoinColumn(nullable=false) // Optional
 */
private $equipe;

另外,idEq应该是int类型,我觉得应该是主键。

祝你好运。

谢谢大家,

我找到了我自己问题的答案,

我只需要添加这个功能:

public function __construct()
{
parent::__construct();

}