如何在一個表單中顯示不同表格的字段並將其一次保存在數據庫中......該方案是當我得到一個新表格填滿時,這兩個表格將合併在相同的表格中,並可能同時保存。第二個問題是,「表格」的「id」(PK)會在保存後遞增生成數字。問題是我怎麼可以在「形式」,「ID」(PK)的值複製到「forminfo_info」(FK),同時節省了......請需要對這種援助..Yii2高級以一種形式顯示和保存兩個表格的字段
0
A
回答
0
很多你的問題真的解釋了here in the Yii2 guide。
無論如何,這裏是我會嘗試在你的actionUpdate/actionCreate控制器。 (注:此代碼沒有經過測試,所以可能需要一些修正,但整體結構應該工作)
// Create empty models, typically for actionCreate()
$m1 = new Model();
$m2 = new AnotherModel();
// ...or load models using ids for actionUpdate($m1Id, $m2Id)
$m1 = Model::findOne($m1Id);
$m2 = AnotherModel::findOne($m2Id);
// Try to populate the models from the request
if ($m1->load(Yii::$app->request->post()) && $m2->load(Yii::$app->request->post())) {
// Models now loaded, but not validated
if ($m1->validate() && $m2->validate()) {
// Both models are now validated, save the first one
$m1->save(false); // No need to validate again
// Now Model has an id, save its id as a reference in AnotherModel
$m2->m1Id = $m1->id;
// ...or create a method in your Model-model for setting the foreign key
// $m2->connectModel($m1); // The fancier object oriented way
$m2->save(false); // Set true if you validate the foreign key
}
}
// Return view for rendering
如果有兩個保存,操作失敗(代碼未測試)是那種可能應該處理的致命錯誤。最糟糕的情況是,您最終可能會保存一個模型,而不是另一個模型,但如果驗證通過,則不太可能。如果你的數據庫支持它,查看「原子」保存事務(全部或全部保存),或者留下它(我認爲大多數情況下只留下它或稍後記錄一個錯誤)。
+0
謝謝@ karpy47。生病得去試試這個代碼... :) –
相關問題
- 1. yii2兩種形式在一個頁面
- 2. 從另一種形式顯示錶格
- 3. 以另一種形式顯示錶單
- 4. 顯示形式根據另一種形式的字段的值
- 5. 以表格形式顯示兩個一維和一個二維數組
- 6. 如何從一種形式保存到兩個表中的Rails
- 7. 以表格形式顯示
- 8. Yii2多種型號保存表格
- 9. 以一種形式保存多列
- 10. 保存並顯示整個班級變量的高分統一
- 11. 以字母形式顯示文本但保留html格式
- 12. 以兩種不同的方式顯示錶格
- 13. 以Symfony2形式顯示ManyToOne字段?
- 14. 從另一種形式的表格字段值
- 15. jquery以表格形式在選擇/選項字段中顯示多個圖像
- 16. Pjax Gridview不顯示yii2高級數據
- 17. Rdlc以表格形式顯示信息
- 18. 如何以列表格式存儲和顯示錶格的值
- 19. 我有一個按鈕以顯示形式的表,但它顯示錶形式以外我怎樣才能存款保險計劃[形式
- 20. 使用列表字段的重力形式(高級字段)如何在delete_list_item上顯示確認消息
- 21. 自定義多值字段不以空格形式顯示
- 22. 以兩個表格作爲源形式
- 23. 與第一種形式同時顯示的第二種形式
- 24. 顯示兩個形式
- 25. 以Symfony2形式顯示多對一的字段?
- 26. Yii2 - 顯示兩個表格之間的共同行
- 27. angularjs顯示每個字段的表格
- 28. 可編輯形式即使不顯示它也可以保存表格
- 29. yii2搜索鏈接到同一個表的兩個字段
- 30. 以一種形式插入到兩個表中
您可以實際顯示圖像... – Ian
您可以查看圖像。它被鏈接在文本中... –
Nvm,我已經爲你做了。關鍵是要在同一頁面中製作圖像和問題,以便人們可以更輕鬆地查看圖像並將其鏈接到您的問題。歡迎來到堆棧溢出! – Ian