以前は symfony1.4+propel を使ってプロジェクトを開発していましたが、今は symfony2.0 に切り替えましたが、doctrine を使ったことはありませんでしたが、公式のデフォルトは doctrine で propel が削除されています。
1. ドクトリンを使用する利点は何ですか?プロップとの関係。プロジェクトはシステムの側面です。
2. prop を使用する場合、group by はあまり役に立たないことがわかりました。
3.教義は多対多の M:N 関係をどのように処理しますか?
さらに、私は教義に関して起こり得る問題を投稿し、他の人を参照します:
1. ドキュメント エラー。署名されていない公式ドキュメントや生成された yml などの追加フィールド オプションを設定するには、オプションを使用します。
2. 外部キーは署名なしまたはデフォルトを指定できません
3. テーブルのリレーションシップは非識別リレーションシップです
ありがとう!
怪我咯2017-05-16 16:48:03
「標準」Doctrine でサポートされる関数は、PDO でサポートされるすべてのリレーショナル データベース (MySQL、PostgrelSql など) でサポートされる関数の集合です。つまり、A がサポートするが B がサポートしないものはサポートされません。デフォルトで Doctrine を使用します。ただし、Doctrine はスケーラビリティが高く、サードパーティのコードが豊富です。Google で Doctrine+Extensions を検索すると、たくさんの情報が得られます。
Doctrine の多対多のサポートは非常に優れており、十分です。
Symfony 2 でも Propel を使用できます。公式 Web サイトのドキュメントには専用の章があります。
Doctrine と Propel は両方とも優れています (データベース パッケージを自分で作成することも、良い仲間になることもできます)。比較する必要がある場合は、客観的な違いをいくつか挙げることができます。
Doctrine の約束は、ライブラリ間で使用できるということです。この観点から見ると、Doctrine は依然として人々に安心感を与えることができます。結局のところ、PostgreSql や SQLite を使用している人はまだたくさんいるので、一貫性を強制するために MySQL の考え方を使用しないでください。