私のデータベースには、 tablefile
とtable がありますfile_content
。file
テーブルには、 などのファイルのメタデータが格納さname
れますmime
。はfile_content
、ファイル コンテンツを含む BLOB を格納します。パフォーマンス上の理由から、ブロブをメタデータと同じテーブルに保存していません。
私のプロジェクトの「バージョン 2」については、Doctrine (2.3) を調べています。私にとって、「ファイル」は、次のように使用する必要がある 、 、 などのプロパティを持つ 1 つのエンティティのようname
ですmime
。extension
content
$file = new File();
$file->setName('hello.txt');
$file->setMime('text/plain');
$file->setContent('Hello world!')
$em->persist($file);
$em->flush();
この動作は可能ですか? 私には、実際には 1 つのエンティティにすぎないものに対して 2 つのエンティティを作成することは意味がありません。ドキュメントでそれについて何も見つけることができず、Doctrine 2.1 では不可能であるという 2 年前のトピックを読みました: Doctrine 2.1 - Map entity to multiple tables
これを正しく処理する方法について何か提案はありますか? 私はDoctrineを初めて使用し、それが私のプロジェクトにとって正しい選択であるかどうかを確認するために少し遊んでいます。ありがとう。