在 laravel 8 中的表单操作路由中传递用户请求
Posted
技术标签:
【中文标题】在 laravel 8 中的表单操作路由中传递用户请求【英文标题】:pass user request in form action route in laravel 8 【发布时间】:2021-06-30 18:43:49 【问题描述】:这是我的简单表格
<form id="test-form" class="white-popup-block mfp-hide">
<div class="popup_box ">
<div class="popup_inner">
<h3>Make an Appointment</h3>
<form action="route('doctorwithdatepopup',['date'=>$date,'id'=>$doctorsid])" method="POST">
@csrf
<div class="row">
<div class="col-xl-6">
<input id="datepicker" placeholder="Pick date" name="date">
</div>
@php
$Department = DB::table('departments')->orderBy('id','desc')->get();
@endphp
<div class="col-xl-6">
<select class="form-select wide" id="departmentid" name="departmentid">
<option data-display="Select Department">Department</option>
@foreach ($Department as $item)
<option value="$item->id">$item->name</option>
@endforeach
</select>
</div>
<div class="col-xl-12">
<select class="form-select wide" id="doctorsid" name="doctorsid" class="">
</select>
</div>
<br>
<br>
<div class="col-xl-12">
<button type="submit" class="boxed-btn3">Search</button>
</div>
</div>
</form>
</div>
</div>
</form>
不作为['date'=>$date,'id'=>$doctorsid]
这两个数据我想根据用户选择传递我该怎么做?
例如
$date = $request->date
这个可以在控制器中处理,但在操作 URL 中我如何传递用户输入值?
【问题讨论】:
你是从哪里得到变量 $date 和 $doctorsid 的? 在表格的一侧有 2 个选择选项 您可以通过删除 url 参数并通过在控制器中执行所有操作直接使用请求来解决此问题 【参考方案1】:有点棘手。尝试为此创建 2 条路线,第一条路线来获取用户表单请求。其次,您的“doctorwithdatepopup”路线。
web.php
Route::post('url', [YourController::class, 'store'])->name('storeform');
Route::get('url2/date/id', [YourController::class, 'show'])->name('doctorwithdatepopup');
YourController.php
public function store(Request $request)
// Some Validation, Logic, etc
return redirect()->route('doctorwithdatepopup', ['date' => $request->date, 'id' => $doctorId]);
public function show($date, $id)
return view('your view', compact('date', 'id'));
【讨论】:
以上是关于在 laravel 8 中的表单操作路由中传递用户请求的主要内容,如果未能解决你的问题,请参考以下文章