我正在使用FOSUserBundle。我试图将一个外键添加到User.php
(类扩展BaseUser类),但这不起作用,因为它总是显示错误。你能帮我吗?我是使用symfony的新手:
如果你帮助我,我会很感激,我尝试了很多东西而且没用。 我想知道这个错误的原因是什么。 提前谢谢
以下是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;
}
}
答案 0 :(得分:0)
我不确定,但你可以尝试这样的事情:
/**
* @ORM\ManyToOne(targetEntity="Equipe")
* @ORM\JoinColumn(nullable=false) // Optional
*/
private $equipe;
此外,我认为idEq应该是int类型和主键。
祝你好运。答案 1 :(得分:0)
谢谢你们,
我找到了自己问题的答案,
我只需添加此功能:
public function __construct()
{
parent::__construct();
}