我尝试使用post方法将数据插入数据库,但不是插入数据,而是在我的网络浏览器的地址栏上显示任何内容和令牌。
这就是显示:
我的表单如下:
<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>
这是我的路线:
Route::post('/booth_personnel/create', 'BoothPersonnelController@store');
我的控制器:
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方法中。它只发生在第一个循环上,下一个插入就好了。
答案 0 :(得分:0)
只需将此{{csrf_field()}}更改为此{{Form :: token()}}
答案 1 :(得分:0)
事实证明我在循环外面有另一个表单标记换行。 我删除了它,现在一切正常。