Laravel 5.5:将隐藏表单输入的值发送给控制器

时间:2018-02-09 15:12:14

标签: php laravel-5 laravel-5.5

在我看来,我正在获取所有可用的插槽,因此用户可以单击书籍按钮来预订该插槽。但是,我似乎无法找到获取正确值(输入的ID)的方法,因此我可以将数据库中特定预订的状态设置为预订。

index.blade.php

@if(count($slots) > 0)
                            <table class="table table-striped">
                                <tr>
                                    <th>Date</th>
                                    <th>Time</th>
                                    <th></th>
                                </tr>
                                @foreach($slots as $slot)
                                    <tr>
                                        <td>{{$slot->date}}</td>
                                        <td>{{$slot->time}}</td>
                                        <td>
                                            <input name="id" value="{{$slot->id}}" type="hidden"> THIS IS WHAT I WANT TO SEND
                                            <button class="btn btn-primary pull-right" type="submit">Book</button>
                                        </td>
                                    </tr>
                                @endforeach

BookingsController.php

public function store(Request $request)
    {
        $booking = new Booking;
        $booking->user_id = auth()->user()->id;
        $booking->date_id = THIS IS WHAT I NEED;

                    DB::table('calendar')
                            ->select('id','status')
                            ->where('id', GET DATE ID)
                            ->update(['status' => 1]);          
        $booking->save();



        return redirect('/bookings')->with([
                'success' => 'Booking successful!',
        ]);
    }

3 个答案:

答案 0 :(得分:2)

使用请求对象检索您发送的参数:

$whatYouNeed = $request->id(或一般$request->WhateverYouNamedYourField

编辑:这与隐藏字段无关,它适用于任何类型的表单字段。

答案 1 :(得分:0)

Request docs

在商店功能中,您是Typehinting Request。

store(Request $request)

第一个请求指的是请求处理程序。 所以,如果你把它放在你的后面。

$booking->date_id = $request->input('id')

这是你的答案。

您正在请求来自请求输入的输入ID

答案 2 :(得分:0)

来自Enumerable.ToArray() method

 $request->all();    

 $request->get('filedName');

 $request->fieldName;

$request->input('fieldName');

这些是获取输入的方式,包括隐藏的输入