1つのページにActiveFormをマスターレコードとして、グリッドを子レコードとして、どのように関係を作ることができますか?作成時にマスターレコードのIDはありません!どんな助言もうまくいきます! TIA。 AsimグリッドをActiveFormに参照する方法
答えて
子オブジェクトを追加するためにモーダルを使用する必要はありません。あなたは1つの形式でそれを行うことができます。モーダルを使用する場合は、最初に親オブジェクトを作成してからこのモーダルを表示する必要があります。このようにして、あなたの心配は無効になります。
親と子を1つのフォームに追加する場合は、両方のオブジェクトをビューに渡して、フィールドをフォームに配置できます。次に、フォーム送信時に両方のオブジェクトを検証し、すべてが正常であれば親を保存し、次に子を親に割り当て、子に親のIDを割り当てます。子プロセスが失敗した場合、親プロセスも同様に記録されないように、これをトランザクション内で行うことができます。
class YourController extends Controller
{
public function actionSomething()
{
$parent = new Parent();
$child = new Child();
$request = Yii::$app->request;
if ($parent->load($request->post('Parent')) && $child->load($request->post('Child'))) {
// Do validation and if everything is fine, then save the fields
Yii::$app->db->transaction(function() {
$parent->save(false);
$child->parent_id = $parent->id;
$child->save(false);
});
}
return $this->render('view', compact('parent', 'child'));
}
}
ビュー:ここ
は、いくつかのコードです
$form = ActiveForm::begin() ?>
<?= $form->field($parent, 'fieldA') ?>
<?= $form->field($parent, 'fieldB') ?>
<?= $form->field($child, 'fieldA') ?>
<?= $form->field($child, 'fieldB') ?>
...other input fields...
<?= Html::submitButton('Save', ['class' => 'btn btn-primary']) ?>
あなたのアイデアを得ましたか。ご質問や問題がある場合は、お尋ねください。別の例があります。これは更新版ですが、そのアイデアは同じです:
ありがとうntraykov!しかし、もし私が100の子供の記録を持っていたらどうなりますか?このような状況ではどのようなシナリオがありますか?表形式の入力は私の使い方には適していません。 TIA。 Asim – user2071946
あなたが達成しようとしていることを正確に説明してください。あなたは「複数の」子供たちを言っていませんでした。複数の子を配置する場合は、最初に親を作成し、別の操作で子を追加します。たとえば、親のみが追加された親ページを作成し、子ページが作成されます。子ページは子が追加されます。もう1つのアプローチはajaxを使うことです。親が作成され、ボタンがある場合、このボタンを押すと、子フォームが追加されます。 'n'回押すと、 'n'の子フォームが表示されます。 –
あなたが主張すれば、親と子を1つのフォームに入れることができます。 Javascriptを使用すると、複数の子を追加して、フォーム全体をサーバーに送信できます。 –
- 1. .xprojを.csprojに参照する方法
- 2. DWARFで参照を間接参照する方法
- 3. 参照アプリケーションにアクセスする方法
- 4. 参照方法ローカルイメージ
- 5. 座標リストをリスト/グリッド参照のセットに変換する
- 6. Java:グリッド参照を格納するのに最適なタイプ
- 7. Javascript OOP:オブジェクトを参照する方法
- 8. ライブマップの値を参照する方法
- 9. リフレクトでフィールドを参照する方法
- 10. xmlでカスタムリソースファイルを参照する方法
- 11. Microsoft.Web.Administrationを参照する方法?
- 12. オブジェクトのコンテナを参照する方法
- 13. VBAでテーブルを参照する方法
- 14. vs12でMicrosoft.Solver.Foundationを参照する方法?
- 15. タブパネルタブを参照する方法
- 16. 親クラスを参照する方法?
- 17. VBAでオンラインブックを参照する方法
- 18. セル参照を取得する方法
- 19. NavigationSubformを参照する方法
- 20. 均一なグリッドのアイテムを「内部的に」均等に配置する方法(画像参照)
- 21. メソッドの参照方法は?
- 22. PHPオブジェクト、参照方法?
- 23. グリッド位置に含まれるオブジェクトへの参照
- 24. 方法の参照方法は?
- 25. SharePoint 2013 REST構文:複数の参照フィールド値を参照する方法
- 26. Eclipse CDT:第三者参照を参照する方法相対パス
- 27. 自己参照テーブルを照会する方法
- 28. SQLite - 空間参照を照会する方法は?
- 29. C++で参照を返す方法
- 30. スコープの問題。方法を参照する方法?
明確ではありません。より多くの情報やあなたが書いたコードを記入してください。 –