2011-11-02 43 views
11

Tôi muốn sử dụng trong dự án Bảng đơn Thừa kế của tôi cho symfony2/doctrine, nhưng tôi không thể tìm thấy bất kỳ ví dụ làm việc nào với cấu hình yaml cho nó. Trong tài liệu chính thức chỉ có cấu hình chú thích được trình bày. Tôi tìm thấy các ví dụ xml, nhưng tôi muốn sử dụng cấu hình yaml. Ai đó có thể giúp và chia sẻ với một số mã làm việc?Thừa kế bảng đơn và cấu hình Yaml

Trả lời

1

Đây là an example of YAML markup: file

Đối tượng cấu hình nên được đưa vào src/Acme/StoreBundle/Resources/config/doctrine/<EntityName>.orm.yml theo reference.

Cũng built-in chuyển đổi có thể được sử dụng: how to model inheritance in doctrine2 with yaml?

+0

Tx, tôi đã đọc và tôi đang sử dụng markup YAML trong ứng dụng của tôi ngay bây giờ, nhưng tôi có vấn đề với [Thừa kế Lập bản đồ] (http://www.doctrine-project.org/docs/orm/2.1/en/reference/inheritance-mapping.html). Tôi cần ví dụ về [7.2 bảng đơn thừa kế] (http://www.doctrine-project.org/docs/orm/2.1/en/reference/inheritance-mapping.html#single-table-inheritance) trong đánh dấu yaml. –

+0

@Krzysztof Lenda: Bạn có thể sử dụng trình chuyển đổi: http://stackoverflow.com/questions/6265105/how-to-model-inheritance-in-doctrine2-with-yaml –

+0

Cảm ơn bạn. Bộ chuyển đổi này có vẻ là công cụ rất hữu ích - tôi không biết nó trước đó. Tôi nghĩ, tôi có thể xử lý nó ngay bây giờ! –

12

Okay built-in chuyển đổi tiết kiệm cuộc sống.

Để tiết kiệm thời gian này một ví dụ về thừa kế chuyển đổi thành yaml:

#file: Resources/config/doctrine/Person.orm.yml 
Person: 
    type: entity 
    table: null 
    fields: 
    id: 
     type: integer 
     id: true 
     generator: 
     strategy: AUTO 
    inheritanceType: SINGLE_TABLE 
    discriminatorColumn: 
    name: discr 
    type: string 
    length: 255 
    discriminatorMap: 
    person: Person 
    employee: Employee 
    lifecycleCallbacks: { } 


#file: Resources/config/doctrine/Employee.orm.yml 
Employee: 
    type: entity 
    table: null 
    lifecycleCallbacks: { } 
+0

Lưu ý rằng, với symfony 2.2, các lớp không được tạo ra bởi lệnh 'doctrine: generate: entity' của giao diện điều khiển trừ khi các lớp được tạo thủ công. –

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