2013-04-12 17 views
9

Tôi đang tạo hệ thống quản trị bài học trên symfony2 và doctrineLàm cách nào để sử dụng 'khóa ngoại' trên học thuyết?

Tôi bối rối khi sử dụng khóa ngoại trong học thuyết.

/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; 
    . 
    . 
} 

Mỗi 'Bài học' có một giáo viên đăng ký tại user.php.

Tôi làm cách nào để viết chú thích cho mục đích này?

Tôi cũng đang lập kế hoạch cho mỗi Bài học có nhiều sinh viên từ/Thực thể/Người dùng. Tôi làm cách nào để viết chú thích cho mục đích này? (ManyToMany?)

Tôi đã nghiên cứu, nhưng tôi không thể tìm thấy tài liệu hay cho chú thích học thuyết.

thanks a lot

Trả lời

8

Dưới đây một số cheat tờ cho chú thích thuyết: link

Đối với vấn đề của bạn, bạn cần phải xác định các biến của bạn trong mỗi bên của hiệp hội của bạn.

Trong 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; 

Trong user.php:

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

Và vâng, ManyToMany là tốt cho mục đích của bạn đang tìm kiếm :)

+0

Thanks.GreenLeaf nó hoạt động tốt cho mục đích của tôi, Liên kết đã cho cũng hữu ích. – whitebear

+0

liên kết cho tôi một 404 – deltree

+0

Tôi đã cập nhật liên kết. Đây là liên kết hoàn chỉnh: http://www.elao.com/fr/blog/symfony-2-doctrine-2-cheat-sheets – Pierrickouw

Các vấn đề liên quan