Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php LARAVEL Post方法在地址栏上显示令牌_Php_Mysql_Laravel - Fatal编程技术网

Php LARAVEL Post方法在地址栏上显示令牌

Php LARAVEL Post方法在地址栏上显示令牌,php,mysql,laravel,Php,Mysql,Laravel,我试图使用post方法将数据插入数据库,但没有插入数据,而是什么也不做,令牌出现在我的web浏览器的地址栏上 这就是所展示的: 这是我的表格,看起来像: <li class="list-group-item"> <form action="/booth_personnel/create" method="post">

我试图使用post方法将数据插入数据库,但没有插入数据,而是什么也不做,令牌出现在我的web浏览器的地址栏上

这就是所展示的:

这是我的表格,看起来像:

                            <li class="list-group-item">
                                <form action="/booth_personnel/create" method="post">
                                {{ csrf_field() }}
                                  <div class="input-group">
                                      <select class="form-control" name="personnel_id">
                                        @foreach($personnel as $person)    
                                        <option value="{{$person->id}}">{{$person->full_name}}</option>
                                        @endforeach
                                      </select>
                                      <input type="hidden" value="{{$service->id}}" name="services_booth_id">            
                                      <span class="input-group-btn">
                                        <button class="btn btn-default" type="submit" tabindex="-1"><span aria-hidden="true"></span>Add Personnel</button>
                                      </span>
                                    </div>

                                </form>
                            </li>   
我的控制器:

   public function store(Request $request)
{
    $this->validate($request,[
        'personnel_id' => 'required',
        'services_booth_id' => 'required',
    ]);

    $result = BoothPersonnel::addNew($request);
    if($result === true) {
        $message = "Successfully added to database.";
        return redirect()->back()->with('formSuccess', $message);
    } else {
        return back()->withErrors($result);
    }

}
我的模型:

   public static function addNew($request){
    $result = array();
    DB::beginTransaction();

    try {
        $current_time = Carbon::now('Asia/Manila');
        DB::insert("INSERT INTO `tbl_booth_personnels`
            (
                `personnel_id`, `services_booth_id`, `created_at` 
            ) 
            VALUES 
            (?, ?, ?)",
                   [
                       $request->input('personnel_id'),
                       $request->input('services_booth_id'),
                       $current_time
                   ]
                  );

        DB::commit();
        $result = true;
    } catch (\Exception $e) {
        DB::rollback();
        $result = $e->getMessage();
    }

    return $result;
}

注意:我在循环我的视图中有一个多表单,它在foreach方法中。它只发生在第一个循环上,下一个循环插入得很好。

简单地将这个{csrf_field()}更改为这个{Form::token()}

简单地将这个{csrf_field()}更改为这个{Form::token()}

因为我在循环外有另一个表单标签包装。
我删除了它,现在一切正常。

因为我在循环外有另一个表单标记包装。
我删除了它,现在一切正常。

这没有做任何事情,它仍然在地址栏上为第一个循环生成令牌。这没有做任何事情,它仍然在地址栏上为第一个循环生成令牌。
   public static function addNew($request){
    $result = array();
    DB::beginTransaction();

    try {
        $current_time = Carbon::now('Asia/Manila');
        DB::insert("INSERT INTO `tbl_booth_personnels`
            (
                `personnel_id`, `services_booth_id`, `created_at` 
            ) 
            VALUES 
            (?, ?, ?)",
                   [
                       $request->input('personnel_id'),
                       $request->input('services_booth_id'),
                       $current_time
                   ]
                  );

        DB::commit();
        $result = true;
    } catch (\Exception $e) {
        DB::rollback();
        $result = $e->getMessage();
    }

    return $result;
}