0

我正在使用symfony 2doctrine使用外键创建实体类

这是我的实体类,现在的问题是当我检查fos_usermysql 数据库中的表时,我没有看到travel_access_tokentravel_id作为外键,即使我更改表数据库中的值travel_idfos_user不会引发任何问题。

我有一对一的单向关系,因为只有一个用户只能拥有一个令牌

<?php

namespace Travel\HomeBundle\Entity;

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

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

    /** @ORM\Column(name="facebook_id", type="string", length=255, nullable=true) */
    protected $facebook_id;

    /** @ORM\Column(name="facebook_access_token", type="string", length=255, nullable=true) */
    protected $facebook_access_token;



     /** 

     @ORM\Column(name="travel_id", type="string", length=255, nullable=true)
     @ORM\OneToOne(targetEntity="Travel\HomeBundle\Entity\Client") 
     @ORM\JoinColumn(name="travel_id", referencedColumnName="id") 

     */

    protected $travel_id;


    /** 

      @ORM\Column(name="travel_access_token", type="string", length=255, nullable=true) 
      @ORM\OneToOne(targetEntity="Travel\HomeBundle\Entity\Client")
      @ORM\JoinColumn(name="travel_access_token", referencedColumnName="secret")

     */

    protected $travel_access_token;




    public function __construct()
    {
        parent::__construct();
        // your own logic
    }


}

?>
4

1 回答 1

0

作为“targetEntity”,请尝试仅使用实体的名称。像这样:

 @ORM\OneToOne(targetEntity="Client") 
于 2013-11-12T08:28:04.557 回答