0

メインクラス/テーブルからsymfony 1.4 with doctrineの関連クラスへの接続/関係に苦労しています。関係は

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

このプレフィックスがなくても簡単に実現できることはわかっていますが、既存のデータベースと既存のサブコンポーネントを使用しているため、この関係を変更することはできません。

何か案は?ありがとう!

4

2 に答える 2

1

これは真の外部キーではないため、Doctrine でリレーションとして実装することはできません。

既存の列を変更できない場合、新しい列を作成することは可能ですか? その場合は、適切な外部キー関係で relatedClass テーブルに列を追加するための移行を記述します。

于 2011-08-23T01:43:59.713 に答える
0

私は最終的に次のような「疑似関係」を作成しました。

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

これにはいくつかの利点があります。

  • 既存のテーブルの変更は不要
  • すでに巨大なデータベースに無駄な列を追加する必要はありません

エレガントではありませんが、これまでのところ最も利点のあるソリューションです。

于 2011-08-23T02:28:24.187 に答える