Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2关系-OneTONE?_Php_Mysql_Symfony_Doctrine Orm_Relationship - Fatal编程技术网

Php Symfony2关系-OneTONE?

Php Symfony2关系-OneTONE?,php,mysql,symfony,doctrine-orm,relationship,Php,Mysql,Symfony,Doctrine Orm,Relationship,一开始很抱歉我的英语不好,我希望你能理解我。我正在用Symfony2编写一个简单的门户,它需要用MySQL建立表之间的关系,所有的互联网浏览方式、测试方式都是如此,但什么都没有得到。下表 现在,是的,通过从数据库中获取用户,我想一次延伸到专业职业,但连同它的名称,甚至是一个选项?如果我理解正确,您想在您的实体之间创建一个一对一的关系 在玩家实体上: /** * Player * * @ORM\Table(name="players") * @ORM\Entity() */ class

一开始很抱歉我的英语不好,我希望你能理解我。我正在用Symfony2编写一个简单的门户,它需要用MySQL建立表之间的关系,所有的互联网浏览方式、测试方式都是如此,但什么都没有得到。下表


现在,是的,通过从数据库中获取用户,我想一次延伸到专业职业,但连同它的名称,甚至是一个选项?

如果我理解正确,您想在您的实体之间创建一个一对一的关系

在玩家实体上:

/**
 * Player
 *
 * @ORM\Table(name="players")
 * @ORM\Entity()
 */
class Player
{
    /**
     * @ORM\OneToOne(targetEntity="Vocation", inversedBy="player")
     * @ORM\JoinColumn(name="vocation", referencedColumnName="id")
     */
    private $vocation;

    ...
}
在度假的时候

/**
 * Vocation
 *
 * @ORM\Table(name="vocations")
 * @ORM\Entity()
 */
class Vocation
{
    /**
     * @ORM\OneToOne(targetEntity="Player", mappedBy="vocation")
     */
    private $player;

    /**
     * @var string
     */
    private $vocationName;

    /**
     * @var integer
     */
    private $id;

    ...
}
像这样的


另外,通过查看您的表,您可能希望使用多通关系而不是单通关系?

可能的重复关系仍然不起作用,我不知道我做错了什么,下面的代码是您使用的inversedBy=player,但您的Danonaccholidation实体不包含该属性。另外,将@ORM\Entity注释添加到实体中也不会有什么坏处。将inversedBy=player更改为inversedBy=cavityname,添加了@ORM\Entity注释,什么都没有,我对它进行了测试,得到了int 2的答案。你能分享你的职业实体在上次更改后的当前外观吗?你应该添加一个玩家属性,而不是使用职业名称作为关系。检查我编辑的答案。另外,您的列映射@ORM\Column在哪里?