Доктрина генерации моделей - проблема с типом отношений - PullRequest
0 голосов
/ 30 декабря 2010

Я пытаюсь сгенерировать модели доктрины из схемы yaml

У меня есть такая схема:

Product:
    columns:
        id:
            type: integer(5)
            primary: true
            unsigned: true
            autoincrement: true
        activation_time:
            type: datetime
            notnull: true
        enduser_id:
            type: integer(5)
            unsigned: true
            notnull: true
    relations:
        Enduser:
            foreignType: one
            type: one
            foreignAlias: Product

Hostid:
    columns:
        id:
            type: integer(5)
            primary: true
            unsigned: true
            autoincrement: true
        value:
            type: string(32)
            fixed: true
            notnull: true

Order:
    columns:
        id:
            type: integer(5)
            primary: true
            autoincrement: true
            unsigned: true
        expire_date:
            type: datetime
        description:
            type: clob

Enduser:
    columns:
        id:
            type: integer(5)
            primary: true
            unsigned: true
            autoincrement: true
        hostid_id:
            type: integer(5)
            unsigned: true
            notnull: true
        order_id:
            type: integer(5)
            unsigned: true
            notnull: true
    relations:
        Order:
            foreignAlias: Endusers
        Hostid:
            foreignAlias: Endusers

, и проблема в том, что модели, сгенерированные доктриной generate-models-yaml, неверны вBaseEnduser $ Product определяется как Doctrine_Collection

$ this-> hasMany ('Product', массив ('local' => 'id', 'foreign' => 'enduser_id'));

вместо этого просто объект Product

что я не так сделал?

отношение определяется как foreignType: один тип: один

1 Ответ

0 голосов
/ 30 декабря 2010

В соответствии с примером один к одному , вы просто делаете для "Продукта"

relations:
    Enduser:
        foreignType: one

Все остальное кажется нормальным ИМО.Не нужно определять что-то еще, поскольку вы храните ссылку на конечного пользователя только вместе с его продуктом (который каким-то образом связан, не зная, что вы хотите сделать, не может ли пользователь иметь много продуктов и наоборот?)

...