2013-04-16 59 views
0

我使用Symfony1.4並推進我的應用程序。 我有一個問題。例如:我有一個數據庫,我想保留作者和書籍。我提出以下方案: 的schema.yml窗體中。 Symfony

book: 
    id: ~ 
    name: {type: varchar (100), required: true} 

author: 
    id: ~ 
    name: {type: varchar (100), required: true} 

author_book: 
    id_book: {type: integer, foreignTable: book, foreignReference: id, required: true, primaryKey: true, onDelete: cascade} 
    id_author: {type: integer, foreignTable: author, foreignReference: id, required: true, primaryKey: true, onDelete: cascade} 

而且我想用另外的作者,添加圖書,他寫,不用離開頁面添加作者。 這是一個簡單的問題,但由於某種原因,我還沒有找到解決方案。 (我認爲通過編寫一個使用ajax來加載「添加書籍」窗體的小部件來實現這一點,但是不可能有現成的解決方案嗎?)

+0

不幸的是,現在還沒有開箱即用的解決方案。你必須像@PANPELOPE所建議的那樣使用嵌入式表單。如果您想使用AJAX動態加載其他表單,您必須自己編寫代碼。這不是非常困難,但需要一些工作。 –

回答

1

您可以使用sfForm::embedForm()來嵌入多個表單。看看這個文檔:http://symfony.com/legacy/doc/more-with-symfony/1_4/en/06-Advanced-Forms,這是解釋。

+0

謝謝。我有一個問題:如果我想在窗口書中添加作者,如何指定該書 - 尚未創建作者的ID,該怎麼辦? – user1799748

+0

你想添加一個組合來選擇作者嗎? – 2013-04-18 08:18:30

+0

我寫: '類BookForm延伸BaseBookForm { 公共功能配置() { \t未設置($此[ 'id_author']); \t如果(!$這個 - >是否新款()) \t { \t \t $這個 - > embedForm( '作者',新AuthorForm($這個 - >的getObject() - > getAuthor())); \t} \t其他 \t { \t \t $這個 - > embedForm( '作者',新AuthorForm()); \t \t} }' 但「拯救」不起作用,因爲需要作者的書 – user1799748