Angular-一度に2つのモデルに保存

user11352561

Angular7を使用して動的メニューとサブメニューを作成し、Laravelからエンドポイントを取得したいと思います。

  1. 2つのテーブルに同時に保存し、main_menuテーブルのIDをsub_menuに渡します。

  2. データがメニューテーブルに保存されると、メニューテーブルのIDが渡され、サブメニューテーブルのmenu_idに渡されます。

Laravel:メニューコントローラー

    public function store(Request $request)
    {
        $request->validate([
            'name' => 'required',
            'descriptions' => 'required', 
        ]);

        $mainmenu = Mainenu::create($request->all());

        return response()->json([
            'message' => 'Great success! New Menu Item created',
            'mainmenu' => $mainmenu
        ]);
    }

Laravel:サブメニューコントローラー

    public function store(Request $request)
    {
        $request->validate([
            'menu_id' => 'required',
            'parent_id' => 'required'  
        ]);

        $submenu = Submenu::create($request->all());

        return response()->json([
            'message' => 'Great success! New Menu Item created',
            'submenu' => $submenu
        ]);
    }

角度:モデル

export class Menu {
    id: number = '';
    name: string = '';
    description : string = '';
}

export class Submenu {
    id: number = '';
    menu_id: number = '';
    parent_id : number = '';
}

Service.ts

  addMenu (mainmenu): Observable<Mainmenu> {
    return this.http.post<Mainmenu>(apiUrl, mainmenu, httpOptions).pipe(
      tap((mainmenu: Mainmenu) => console.log(`added mainmenu w/ id=${mainmenu._id}`)),
      catchError(this.handleError<Mainmenu>('addMenu'))
    );
  }

コードをさらに進める方法がわかりません

2つのテーブルに同時に保存し、main_menuテーブルのIDをmenu_idとしてsub_menuに渡したいと思います。

セトゥー

オブザーバーを使用する必要があります

まず、このようにリクエストを受け取ることができます

id: number = '';
name: string = '';
description : string = '';
parent_id: number = ''; //If it needs to be a submenu

メニューコントローラの場合:

public function store(Request $request)
{
    $request->validate([
        'name' => 'required',
        'descriptions' => 'required', 
    ]);

    $mainmenu = Mainmenu::create($request->except(['parent_id']));

    return response()->json([
        'message' => 'Great success! New Menu Item created',
        'mainmenu' => $mainmenu
    ]);
}

上のオブザーバー

namespace App\Observers;

use App\Mainmenu;
use App\Submenu;

class MainmenuObserver
{
    /**
     * Handle the Mainmenu "created" event.
     *
     * @param  \App\Mainmenu  $mainmenu
     * @return void
     */
    public function created(Mainmenu $mainmenu)
    {
        $submenu = Submenu::create([
            'menu_id' => $mainmenu->id,
            'parent_id' => request()->parent_id
        ]);
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つのJavaScript変数を一度に設定します、ANGULAR

分類Dev

Angular2ルーティング:一度に複数のコンポーネント

分類Dev

Yii2で一度に複数のモデルを保存する

分類Dev

Yii2で一度に複数のモデルを保存する

分類Dev

CakePHPは一度に2つのモデルを編集します

分類Dev

Angular-一度に5つのオブジェクトを遅延して画面に表示します

分類Dev

一度に1つのポップアップを開き、angular2の外側のクリックでポップアップを閉じる方法

分類Dev

クリックイベントAngular8で一度に1つのキー値を開きます

分類Dev

一度に1つの質問をAngularリアクティブ形式で表示する

分類Dev

Angularで一度にいくつかのコンポーネントを作成する

分類Dev

一度にangular2の複数のオブザーバブルをサブスクライブして、それぞれに新しいデータがある場合、待機するにはどうすればよいですか?

分類Dev

Angular(8)アプリケーションは(本番構成で)一度ビルドし、複数の環境にデプロイします

分類Dev

親コンポーネントを介して一度データを要求し、すべての子ルートにアクセスできるようにしますか?(Angular2)

分類Dev

ASP.NET MVC - 一度に 2 つのモデルからリストするための ViewModel

分類Dev

Angular 9は、特定のモジュールのみをプリロードし、必要に応じて他のモジュールをプリロードします。一度にすべてではありません。

分類Dev

Angular2 Service Singleton の作り方....もう一度

分類Dev

ドメインモデルで一度もコンポーネント/フォームでAngular検証が行われないのはなぜですか?

分類Dev

linqで一度に2つのテーブルデータを表示する

分類Dev

Angular:2つのフォームコントロールを同じモデルにバインドします

分類Dev

モデルを変更せずにAngular2コンポーネントモデルのモデルを更新

分類Dev

threejsのraycasterは、一度に私のgltfモデルの1つの部分のみを選択します

分類Dev

Python:一度に2つのループ

分類Dev

forループで一度に2つの変数を初期化

分類Dev

Ag-grid Angular 6、サーバー側の無限スクロールですが、毎回データベースからデータを取得します。一度にapiでクエリ全体を読み込まないでください。

分類Dev

Windows 10 のデュアル モニター - 一度に動作するのは 1 つだけです

分類Dev

Windows 10 のデュアル モニター - 一度に動作するのは 1 つだけです

分類Dev

一度にangular6で3つの画像を表示するために、angular6での反復に* ngForを使用するにはどうすればよいですか。

分類Dev

外部キーを持つdjangoモデルを保存する場合、一度にすべてを保存するにはどうすればよいですか?

分類Dev

Angular Material $ mdDialogは、一度非表示にした後は表示されません

Related 関連記事

  1. 1

    2つのJavaScript変数を一度に設定します、ANGULAR

  2. 2

    Angular2ルーティング:一度に複数のコンポーネント

  3. 3

    Yii2で一度に複数のモデルを保存する

  4. 4

    Yii2で一度に複数のモデルを保存する

  5. 5

    CakePHPは一度に2つのモデルを編集します

  6. 6

    Angular-一度に5つのオブジェクトを遅延して画面に表示します

  7. 7

    一度に1つのポップアップを開き、angular2の外側のクリックでポップアップを閉じる方法

  8. 8

    クリックイベントAngular8で一度に1つのキー値を開きます

  9. 9

    一度に1つの質問をAngularリアクティブ形式で表示する

  10. 10

    Angularで一度にいくつかのコンポーネントを作成する

  11. 11

    一度にangular2の複数のオブザーバブルをサブスクライブして、それぞれに新しいデータがある場合、待機するにはどうすればよいですか?

  12. 12

    Angular(8)アプリケーションは(本番構成で)一度ビルドし、複数の環境にデプロイします

  13. 13

    親コンポーネントを介して一度データを要求し、すべての子ルートにアクセスできるようにしますか?(Angular2)

  14. 14

    ASP.NET MVC - 一度に 2 つのモデルからリストするための ViewModel

  15. 15

    Angular 9は、特定のモジュールのみをプリロードし、必要に応じて他のモジュールをプリロードします。一度にすべてではありません。

  16. 16

    Angular2 Service Singleton の作り方....もう一度

  17. 17

    ドメインモデルで一度もコンポーネント/フォームでAngular検証が行われないのはなぜですか?

  18. 18

    linqで一度に2つのテーブルデータを表示する

  19. 19

    Angular:2つのフォームコントロールを同じモデルにバインドします

  20. 20

    モデルを変更せずにAngular2コンポーネントモデルのモデルを更新

  21. 21

    threejsのraycasterは、一度に私のgltfモデルの1つの部分のみを選択します

  22. 22

    Python:一度に2つのループ

  23. 23

    forループで一度に2つの変数を初期化

  24. 24

    Ag-grid Angular 6、サーバー側の無限スクロールですが、毎回データベースからデータを取得します。一度にapiでクエリ全体を読み込まないでください。

  25. 25

    Windows 10 のデュアル モニター - 一度に動作するのは 1 つだけです

  26. 26

    Windows 10 のデュアル モニター - 一度に動作するのは 1 つだけです

  27. 27

    一度にangular6で3つの画像を表示するために、angular6での反復に* ngForを使用するにはどうすればよいですか。

  28. 28

    外部キーを持つdjangoモデルを保存する場合、一度にすべてを保存するにはどうすればよいですか?

  29. 29

    Angular Material $ mdDialogは、一度非表示にした後は表示されません

ホットタグ

アーカイブ