我是 Laravel 的新手。我正在構建一個應用程序,參加培訓的人可以下載他們的證書軟拷貝。這就是我想要實現的流程索引頁顯示三個輸入的形式提交時,如果記錄存在,請發送一封包含令牌的電子郵件,并路由到下一頁,您在其中提供發送到電子郵件的令牌。證書編號 (cert_no)證書類型(cert_type)會員郵箱 (member_email)現在我的挑戰是,如何檢查數據庫以驗證一條記錄滿足所有要求?下面是我的表格<form method="POST" action="{{ route('checkExist') }}" enctype="multipart/form-data" data-form-validate="true" novalidate="novalidate"> @csrf <div class="card bg-white shadow"> <div class="card-body pt-2"> <div class="input-group"> <label>Certificate No.</label> <input type="text" name="cert_no" class="input input-md input-green input-block" value="{{ old('cert_no') }}" data-rule-required="true" data-msg-required="* Field cannot be empty" required> </div> <div class="input-group"> <label>Choose Type</label> <select name="cert_type" class="input input-md input-green input-block" data-rule-required="true" data-msg-required="* Select an option" required> @if ($errors->any()) <option value="{{ old('cert_type') }}">{{ old('cert_type') }}</option> @endif <option value="">---Select Option---</option> <option value="Certificate 1">Certificate 1</option> <option value="Certificate 2">Certificate 2</option> </select> </div> <div class="input-group"> <label>Email</label> <input type="email" name="member_email" class="input input-md input-green input-block" value="{{ old('member_email') }}" data-rule-required="true" data-msg-required="* Field cannot be empty" required> </div> <div class="input-group mt-1"> <input type="submit" class="btn btn-lg btn-cipm btn-block" value="Get Access"> </div> </div> </div></form>
3 回答

Qyouu
TA貢獻1786條經驗 獲得超11個贊
在 Laravel 中,您已經有了執行此操作的驗證??纯催@個。
https://laravel.com/docs/7.x/validation#rule-exists
使用存在,您可以檢查數據庫中是否存在特定數據。

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
這樣的事情對你有用嗎?
public function checkExist(Request $request)
{
$data = $request->validate([
'cert_no' => 'required',
'cert_type' => 'required',
'member_email' => 'required|email'
]);
$exists = Certificate::where($data)->exists();
if ($exists)
{
return 'Yes';
}
else
{
return 'No';
}
}
如果沒有,dd($data)看看前端傳來的數據是否滿足你的要求。

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
您可以使用以下代碼來檢查有效查詢
dump($certificate->toSql(), $certificate->getBindings());
- 3 回答
- 0 關注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消