将选定的数量和价格存储在数组中

约翰·W

我有一个具有表单的大会详细信息页面,因此用户可以为每种票券类型选择所需的数量,即表单:

<form method="post" action="{{route('congresses.registration', ['id' => $congress->id, 'slug' => $congress->slug])}}">
    <ul>
            {{ csrf_field() }}
            @foreach($tickets as $ticket)
                <li>
                    <div>
                        <span>{{$type->name}}</span>
                    </div>
                    <select name="types[{{ $type->name }}]">
                        <option selected></option>
                        @for ($i = $type->minPerUser; $i <= $type-> maxPeruser; $i++)
                            <option value="{{ $i }}">{{ $i }}</option>
                        @endfor
                    </select>
                    <span>X {{$type->price}}</span>
                </li>
            @endforeach
    </ul>
    <div class="card-footer">
        <input type="submit" value="Next" />
    </div>
</form>

当单击“下一步”按钮时,我希望在RegistrationController中存储用户选择的数量以及每种类型的价格在storeQuantity()方法中,以便可以将此信息发送到注册页面。同样,在这种方法中,将用户重定向到注册页面。

我有下面的代码,但是我在将所选数量和价格存储在数组中方面没有成功,因此可能将带有必要信息的数组返回到注册视图。你知道怎么做吗?

public function storeQuantity(Request $request){
        $this->validate($request, [
        ]);

        //dd($request->all());

        $typeQuantities = $request->get('types');
        foreach($typeQuantities as $typeName => $quantity){
            $type = TicketType::where('name', $typeName)->firstOrFail();
            $price = $type->price;
            //dd($price);    shows the price, example "10"
        }

        return view('congresses.registration')->with('selectedtypes', $selectedtypes);
    }

“ dd($ request-> all());” 显示:

array:2 [▼
  "_token" => ""
  "types" => array:2 [▼
    "center bench" => "2"
    "lateral bench" => "1"
  ]
]
丹尼尔·H

在foreach中尝试以下方法:

...
$price = $type->price;
$selectedtypes[$type->name]['qty'] = $quantity;
$selectedtypes[$type->name]['price'] = $price;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章