0

私は Symfony2 を学んでいて、アドバイスが必要です。私は 2 つのエンティティを持っています。最初のエンティティ「Issue」は、2 番目のエンティティ「Attachment」と OneToMany 関係にあります。問題フォームを投稿するとき、すべての子添付ファイルを正常にアップロードしていますが、すべてうまくいきます:)しかし、アップロードソリューションをサービスに変えたいと思っており、そこで混乱しています。アップロードは添付ファイル モデルで処理され、コントローラーは単に次のように読み取ります。

    if ($editForm->isValid()) {

        $em->persist($entity);
        $em->flush();            

    ....

「get」メソッドを使用してコントローラーからサービスにアクセスできることを理解していますが、コントローラーで添付ファイルを処理せず、コントローラーから「添付ファイル」モデルをインスタンス化しないため、アップロードサービスに渡すにはどうすればよいですか? Attachment エンティティ コンストラクト内でインスタンス化することは、演習の目的を無効にしているように見えますね。

くだらない話でしたらご容赦ください。ばかフレンドリーなガイダンスをいただければ幸いです。

編集::フィードバックに加えて、アップロードはコントローラーで処理されるサービスとして扱われるべきですか、それともモデルに関連付けられた動作になる可能性がありますか? ジャンプする方法。

4

1 に答える 1

0

私はZF2で似たようなことをしていますが、コントローラーを使用してアップロードを処理および受信し、サービスを使用してアップロードを抽出し、データベースに登録します。

一時的にアップロードされるファイルの名前を取得し、それをサービスに渡します (つまり、/tmp/up2029398393)。次に、それをあるべき場所に移動し、エンティティを作成し、そのオブジェクトの永続化とフラッシュを行います

于 2013-05-20T11:47:54.053 に答える