2014-01-23 37 views
0

我有兩個實體:Image和Post,通過ManytoOne關係鏈接。實體Image用於處理文件上傳和存儲上傳相關數據(如絕對路徑...)。我正在使用Symfony2 Cookbook教程處理文件上傳。ManyToOne關係,其中子實體服務於AJAX文件上傳

我現在建立一個表單,允許用戶:

  1. 輸入一些特殊崗位的信息(如標題,內容..)

  2. 上傳與jQuery/AJAX的許多圖像帖子。

  3. 通過按鈕單擊發送整個表單。

我仍然沒有找到正確的方法來實現關於在database.The問題對我來說數據持久化這一解決方案是:

在實體圖像,作爲一個屬性($ POST_ID)外鍵,並將存儲帖子ID。用戶將在實體帖子持續之前上傳許多圖像。每次創建的所有Image實例都不會包含post_id的值。在我看來,如果我的性能將受到影響:

  • 在保留Post實例後更新映像表中的所有行。

  • 首先創建一個空Post實例,在Image實例中使用它的id,然後更新Post實例。

任何建議,非常感謝。

+0

雖然我同意,'技術'性能將受到這些解決方案的影響,除非用戶正在加載數千張照片,否則可能會忽略不計。 – Lighthart

+0

@Lighthart,我同意你的意見。另外,第二種方法將執行較少的SQL查詢。但我認爲可能有另一種更適合我的情況。感謝和問候 –

+1

我試着回答類似的問題在http://stackoverflow.com/questions/18143432/implementation-of-fully-functional-media-uploading-in-web-application/18149369#18149369 – devsheeep

回答

1

你爲什麼不用這種方式處理你的表單?

http://symfony.com/doc/current/cookbook/form/form_collections.html

並以這種方式只與整個形式上傳的圖片。

如果您需要爲用戶在文件輸入選擇它們預覽的照片比你可以檢查這個答案

How to preview image before uploading in jquery

但它不會像IE8,IE9老的瀏覽器上工作。

+0

謝謝你,我會檢查鏈接和反饋。 –

+0

那麼,閱讀鏈接的內容後,我沒有找到解決我的問題。事實上,我認爲AJAX迫使我找到另一種方法。你怎麼看?謝謝 –

+0

什麼不適合你想要做的?難道你不可能將所有的圖像與整個表單一起上傳(因爲這是爲什麼Symfony2中的form_collections允許你在父表單中添加,刪除照片) – ggavrilut

相關問題