2013-04-12 13 views
9

Robię system zarządzania lekcji na symfony2 i doktrynieJak używać "klucza obcego" w doktrynie?

Jestem zdezorientowany, aby użyć klucza obcego w doktrynie.

/Entity/User.php

class User extends BaseUser 
{ 
    /** 
    * @ORM\Id 
    * @ORM\Column(type="integer") 
    * @ORM\GeneratedValue(strategy="AUTO") 
    *@ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\Lesson", inversedBy("teacher")) 
    */ 
    protected $id; 
    . 
    . 
} 

/Entity/Lesson.php

class Lesson 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 
    /** 
    * 
    * @ORM\OneToOne(targetEntity="Acme\UserBundle\Entity\User", inversedBy("id")) 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
    */ 
    private $teacher; 
    . 
    . 
} 

Każda lekcja "ma jeden nauczyciel zarejestrowaną w User.php.

Jak mogę napisać adnotację do tego celu?

Planuję również, że każda lekcja ma wielu uczniów z/Entity/User. Jak mogę napisać adnotację do tego celu? (ManyToMany?)

Przeprowadziłem badania, ale nie udało mi się znaleźć dobrych dokumentów na temat adnotacji doktrynalnych.

thanks a lot

Odpowiedz

8

Oto niektóre ściągi dla adnotacji nauką link

Dla Twojego problemu, trzeba zdefiniować swoje zmienne w każdym boku swoich skojarzeń.

W Lesson.php:

/** 
* @ORM\OneToOne(
*  targetEntity="Acme\UserBundle\Entity\User", 
*  inversedBy="lessons*removethis : name of the variable in user.php*" 
*) 
* @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
*/ 
private $teacher; 

W User.php:

/** 
* @ORM\OneToOne(
*  targetEntity="Acme\UserBundle\Entity\Lesson", 
*  mappedBy="teacher*removethis : name of the variable in lesson.php*" 
*) 
*/ 
private $lessons; 

I tak, ManyToMany jest dobra do celów swojej szukasz :)

+0

Thanks.GreenLeaf nim działa dobrze dla mojego celu, Podany link jest również użyteczny. – whitebear

+0

link daje mi 404 – deltree

+0

Zaktualizowałem link. Oto pełny link: http://www.elao.com/fr/blog/symfony-2-doctrine-2-cheat-sheets – Pierrickouw

Powiązane problemy