Модели Symfony с внешними ключами - PullRequest
0 голосов
/ 02 июня 2010

Итак, у меня есть 2 модели. Пользователи и группы. Каждая группа имеет пользователя в качестве создателя, а группа имеет много пользователей. FK этих таблиц настроены правильно, но мне было интересно, есть ли более простой способ получить все связанные объекты FK от других объектов. Например, есть ли у объекта группы встроенный метод для получения пользовательского объекта создателя? Или для пользователя есть встроенный метод для получения всех групповых объектов, к которым он принадлежит? Я не мог узнать, как это сделать с документацией на странице Symfony. Из того, что я вижу, я чувствую, что мне нужно создать методы и использовать доктрину для доступа к соответствующим таблицам, используя текущий идентификатор объекта и т. Д.

Спасибо!

Пример схемы:

Group:
  actAs: { Timestampable: ~ }
  columns:
    name: { type: string(500), notnull: true }
    image: { type: string(255) }
    type: { type: string(255), notnull: true }
    created_by_id: { type: integer }
  relations: 
    User: { onDelete: SET NULL, class: User, local: created_by_id, foreign: id, foreignAlias: groups_created }

1 Ответ

4 голосов
/ 02 июня 2010

Вы должны показать нам свой код для достойного ответа, но это будет что-то вроде ниже.

YAML:

Group:
    columns:
        ..........
        creator_id:     { type: integer(4), notnull: true }
    relations:
        Creator:        { class: User, local: creator_id, foreign: id }

PHP:

$user = $group->getCreator();
...