0

私はとを使用symfony 2doctrineて、外部キーでエンティティクラスを作成しています

ここに私のエンティティクラスがあります。問題はfos_user、mysqlデータベースのテーブルをチェックするときです.andが外部キーとして表示されずtravel_access_token、テーブルデータベースtravel_idの値を変更しても問題は発生しません.travel_idfos_user

1 人のユーザーのみが 1 つのトークンしか持てないため、1 対 1 の一方向の関係があります

<?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 に答える