Laravelで選択オプションを使用して複数のデータを送信するにはどうすればよいですか?

午前2時

選択オプションで複数のデータを送信したい。例:ヘアカットのオプションは長いか小さいです。男性の場合は20分、女性の場合は30分です。

現在、値に複数のデータが含まれるフォームがあります。最初の値は名前です。2番目は男性の時間で、3番目は女性の時間です。

<div class="radio">
    <label>
        <input type="radio" name="hairstyle" id="optionsRadios2" value="Kort|20|30">Kort
    </label>
</div>

<div class="radio">
    <label>
        <input type="radio" name="haircolor" value="Wit|20|30">Wit
    </label>
</div>

私の中でstore function私はデータを取り除き、性別に基づいてそれを更新します

public function store(Request $request)
{
    $tasks = Appointment::create($request->all());

    /* Get gender value */
    $gender = $request->input('gender');

    /* Get hair options values */
    $hairstyle = $request->input('hairstyle');
    $haircolor = $request->input('haircolor'); 

    /* Strip hair options values */
    $hs_values = explode('|', $hairstyle);
    $hairstyle_choice = $hs_values[0];
    $hairstyle_time_men = $hs_values[1];
    $hairstyle_time_woman = $hs_values[2];

    $hc_values = explode('|', $haircolor);
    $haircolor_choice = $hc_values[0];
    $haircolor_time_men = $hc_values[1];
    $haircolor_time_woman = $hc_values[2];

    /* Check if gender = men */            
    if ($gender == 'men'){

        $time = $hairstyle_time_men + $haircolor_time_men;

    }
    /* Woman */
    else{

        $time = $hairstyle_time_woman + $haircolor_time_woman;

    }

    /* Update the new values in the row with id .. */
    $titles = DB::table('appointments')
    ->where('id', $tasks->id)
    ->update([
        'hairstyle' => $hairstyle_choice,
        'haircolor' => $haircolor_choice,
        'time_costs' => $time,
    ]);

    return redirect( '/appointments' );

}

ご覧のとおり、私はを取り除き、|すべてを独自の変数に保存します。次に、男性用か女性用かを確認します。これに基づいて、男性または女性の時間を追加し、行を更新します。

これは機能しますが、かなり厄介だと思います。これは私が変更すべきものですか、誰かが私に例をリンクしたり、私が変更する必要があるものを説明したりできますか?

スタリンコ

まず第一に、フロントエンドからバックエンドに時定数を送信するべきではありません。バックエンドのどこかにハードコーディングする方がよいでしょう。私の例では、同じコントローラーメソッドで配列としてそれらをハードコーディングしています。

フロントエンドから、選択したヘアスタイル/ヘアカラータイプの名前のみを送信する必要があります。たとえば、kortまたはwitまた、これらの値には小文字を使用することをお勧めします。コントローラのアクションは次のようになります。

public function store(Request $request)
{
    $tasks = Appointment::create($request->all());

    /* Get the values */
    $gender = $request->input('gender');
    $hairstyle = $request->input('hairstyle');
    $haircolor = $request->input('haircolor'); 

    // Predefined constants
    $hairstyle_times = [
        'men' => [
            'kort' => 20,
            'something_else' => 30,
            //...etc
        ],
        'women' => [
            'kort' => 30,
            'something_else' => 40,
            //...etc
        ],

    ];

    $haircolor_times = [
        'men' => [
            'wit' => 20,
            'something_else' => 30,
            //...etc
        ],
        'women' => [
            'wit' => 30,
            'something_else' => 40,
            //...etc
        ]
    ];

    //Calculate the time and save the appointment
    $time = $hairstyle_times[$gender][$hairstyle] + $haircolor_times[$gender][$haircolor];

    /* Update the new values in the row with id .. */
    $titles = DB::table('appointments')
    ->where('id', $tasks->id)
    ->update([
        'hairstyle' => $hairstyle_choice,
        'haircolor' => $haircolor_choice,
        'time_costs' => $time,
    ]);

    return redirect( '/appointments' );

}

このように、それをカスタマイズすることは非常に簡単です。|sにはもう魔法はありません。また、上級ユーザーは時間値を入力してバックエンドに送信することはできません。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

VueJSを使用してSweetalert2で複数の選択オプションを表示するにはどうすればよいですか?

分類Dev

複数選択のオプションからデータ属性を取得するにはどうすればよいですか?

分類Dev

Angular選択したオプションを取得するにはどうすればよいですか(複数)

分類Dev

Reactの選択オプションなどの要素のデータ属性を保存してアクセスするにはどうすればよいですか?

分類Dev

Javascriptを使用してオプションを配列に複数選択するにはどうすればよいですか?

分類Dev

javascriptで複数の選択されたオプションを使用するときに.show()を使用するにはどうすればよいですか?

分類Dev

PHPを使用して複数選択オプションを実行するにはどうすればよいですか?

分類Dev

送信後に選択したオプションを保持するにはどうすればよいですか?

分類Dev

Angular-複数の選択オプションに基づいて入力フィールドを表示するにはどうすればよいですか?

分類Dev

同じオプションを使用して複数の選択ドロップダウンを作成し、ドロップダウンごとに同じオプションの選択を許可しないようにするにはどうすればよいですか(ページをリロードせずに)?

分類Dev

AJAXから取得したJSONデータに基づいて選択オプションを無効にするにはどうすればよいですか?

分類Dev

Power BIの複数のスライサーで複数のオプションを選択するにはどうすればよいですか?

分類Dev

AJAXを使用して選択オプションの選択に対してPHPクエリを実行するにはどうすればよいですか?

分類Dev

選択したオプションを関数の変数として使用するにはどうすればよいですか?

分類Dev

選択タグのng-modelを取得して、最初に選択されたオプションを取得するにはどうすればよいですか?

分類Dev

HTMLの選択オプションに応じてデータベースに値を入力するにはどうすればよいですか

分類Dev

検索フィルタリング後にjQueryが選択した複数選択ですべてのオプションを選択するにはどうすればよいですか?

分類Dev

jqueryを使用して選択したオプションタグのdata-srcを取得するにはどうすればよいですか?

分類Dev

VueJSとaxiosを使用して、APIからフェッチしたデータをLaravelの選択オプションに入力するにはどうすればよいですか?

分類Dev

条件付きの「with」laravelリレーションシップ関数を使用してデータを取得するにはどうすればよいですか?

分類Dev

条件付きの「with」laravelリレーションシップ関数を使用してデータを取得するにはどうすればよいですか?

分類Dev

Railsのドロップダウン選択値に複数のオプションを使用するにはどうすればよいですか?

分類Dev

htmlフォームの選択オプションを変更して変数を変更するにはどうすればよいですか?

分類Dev

他のドロップダウンから選択されていないオプションを使用してドロップダウンにデータを入力するにはどうすればよいですか?

分類Dev

html vue jsの複数の選択オプションに基づいて行を追加するにはどうすればよいですか?

分類Dev

複数の属性に基づいて特定のオプションを選択するにはどうすればよいですか?

分類Dev

Elmで複数選択の選択されたオプションを取得するにはどうすればよいですか?

分類Dev

選択したオプションの要素のデータを取得するにはどうすればよいですか?

分類Dev

Request.Formを使用してASP.NETMVCとして選択(複数)から選択したすべてのオプションを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    VueJSを使用してSweetalert2で複数の選択オプションを表示するにはどうすればよいですか?

  2. 2

    複数選択のオプションからデータ属性を取得するにはどうすればよいですか?

  3. 3

    Angular選択したオプションを取得するにはどうすればよいですか(複数)

  4. 4

    Reactの選択オプションなどの要素のデータ属性を保存してアクセスするにはどうすればよいですか?

  5. 5

    Javascriptを使用してオプションを配列に複数選択するにはどうすればよいですか?

  6. 6

    javascriptで複数の選択されたオプションを使用するときに.show()を使用するにはどうすればよいですか?

  7. 7

    PHPを使用して複数選択オプションを実行するにはどうすればよいですか?

  8. 8

    送信後に選択したオプションを保持するにはどうすればよいですか?

  9. 9

    Angular-複数の選択オプションに基づいて入力フィールドを表示するにはどうすればよいですか?

  10. 10

    同じオプションを使用して複数の選択ドロップダウンを作成し、ドロップダウンごとに同じオプションの選択を許可しないようにするにはどうすればよいですか(ページをリロードせずに)?

  11. 11

    AJAXから取得したJSONデータに基づいて選択オプションを無効にするにはどうすればよいですか?

  12. 12

    Power BIの複数のスライサーで複数のオプションを選択するにはどうすればよいですか?

  13. 13

    AJAXを使用して選択オプションの選択に対してPHPクエリを実行するにはどうすればよいですか?

  14. 14

    選択したオプションを関数の変数として使用するにはどうすればよいですか?

  15. 15

    選択タグのng-modelを取得して、最初に選択されたオプションを取得するにはどうすればよいですか?

  16. 16

    HTMLの選択オプションに応じてデータベースに値を入力するにはどうすればよいですか

  17. 17

    検索フィルタリング後にjQueryが選択した複数選択ですべてのオプションを選択するにはどうすればよいですか?

  18. 18

    jqueryを使用して選択したオプションタグのdata-srcを取得するにはどうすればよいですか?

  19. 19

    VueJSとaxiosを使用して、APIからフェッチしたデータをLaravelの選択オプションに入力するにはどうすればよいですか?

  20. 20

    条件付きの「with」laravelリレーションシップ関数を使用してデータを取得するにはどうすればよいですか?

  21. 21

    条件付きの「with」laravelリレーションシップ関数を使用してデータを取得するにはどうすればよいですか?

  22. 22

    Railsのドロップダウン選択値に複数のオプションを使用するにはどうすればよいですか?

  23. 23

    htmlフォームの選択オプションを変更して変数を変更するにはどうすればよいですか?

  24. 24

    他のドロップダウンから選択されていないオプションを使用してドロップダウンにデータを入力するにはどうすればよいですか?

  25. 25

    html vue jsの複数の選択オプションに基づいて行を追加するにはどうすればよいですか?

  26. 26

    複数の属性に基づいて特定のオプションを選択するにはどうすればよいですか?

  27. 27

    Elmで複数選択の選択されたオプションを取得するにはどうすればよいですか?

  28. 28

    選択したオプションの要素のデータを取得するにはどうすればよいですか?

  29. 29

    Request.Formを使用してASP.NETMVCとして選択(複数)から選択したすべてのオプションを取得するにはどうすればよいですか?

ホットタグ

アーカイブ