Связь Symfony с префиксом - PullRequest
       22

Связь Symfony с префиксом

0 голосов
/ 23 августа 2011

Я борюсь со связью / отношением из основного класса / таблицы к связанному классу в Symfony 1.4 с доктриной. Отношение

$relatedClass->identifier == 'e'.$mainClass->id;

Я знаю, что мог бы легко реализовать это без этого префикса, но я работаю с существующей базой данных и существующим субкомпонентом, поэтому я не могу изменить это отношение.

Есть идеи? Спасибо!

Ответы [ 2 ]

1 голос
/ 23 августа 2011

Вы не можете реализовать это отношение в Doctrine, потому что это не настоящий внешний ключ.

Если вы не можете изменить существующий столбец, возможно ли создать новый столбец? Если это так, напишите миграцию, чтобы добавить столбец в таблицу relatedClass с правильным отношением внешнего ключа.

0 голосов
/ 23 августа 2011

Я наконец-то создал «псевдоотношение»:

$results = Doctrine::getTable($relatedClass)
            ->createQuery('alias')
            ->addWhere('alias.identifier=?','e'.$event->getId())
            ->execute();

Имеет несколько преимуществ:

  • Нет необходимости вносить изменения в существующие таблицы
  • нет добавления бесполезного столбца в уже огромную базу данных

Это не элегантно, но это решение с наибольшим количеством преимуществ.

...