首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成器::输入不存在\ BadMethodCallException \数据库\查询\生成器

生成器::输入不存在\ BadMethodCallException \数据库\查询\生成器
EN

Stack Overflow用户
提问于 2019-03-07 14:20:48
回答 1查看 197关注 0票数 0

我在提交表单数据进行存储时遇到这个错误,下面是我在控制器中的approve_request_post函数。

代码语言:javascript
复制
public function approve_request_post(Request $request, $request_hash)
{
    $request->validate([
    'hosp_no' => 'required',
    'transport_cost' => 'required',
    'days' => 'required|numeric',
    'per_diem' => 'required|numeric',
    'service_type' => 'required',
    'trans_mean' => 'required',
    'cost_payable' => 'required|numeric',
    'patient_age' => 'required|numeric',
    'doctors_name' => 'required',
    'appointment_date' => 'required|date',
    'comment' => 'required',
    ]);


    // Start transaction
    DB::beginTransaction();


    $request = ReferralRequestModel::where('request_hash', $request_hash)->firstOrFail();

    $remark = new InsurerRemarksModel;
    $remark->ir_hash = encrypt($remark->ir_id);
    $remark->req_id = $request->request_id;
    $remark->insurer_id = Auth::user()->insurers->insurer_id;
    $remark->req_id = $request->request_id;
    $remark->hosp_no = $request->input('hosp_no');
    $remark->service_type = $request->input('service_type');
    $remark->transport_cost = $request->input('transport_cost');
    $remark->trans_mean = $request->input('trans_mean');
    $remark->days = $request->input('days');
    $remark->cost_payable = $request->input('cost_payable');
    $remark->patient_age = $request->input('patient_age');
    $remark->doctors_name = $request->input('doctors_name');
    $remark->appointment_date = $request->input('appointment_date');
    $remark->approval_date =Carbon::now();
    $remark->ir_status = 'approved';
    $remark->save();

    //approvalrecord
    $approval = new ApprovalModel;
    $approval->req_id = $request->request_id;
    $approval->approver_id = Auth::user()->id;
    $approval->category = 'Insurer | Verified By: ';
    $approval->status = 'Verified';
    $approval->comment = $request->input('comment');
    $approval->save();

    //email to all medical team

    if( !$remark->save() || !$approval->save() )
    {
        DB::rollback();
        return back()->withInput(Input::all())->with('failure', 'Transaction Not Successful. Check the input data');
    }

    DB::commit();

    return redirect('/insurer-view-submitted-requests')->with('success', 'Referral Request Approved  Successfully');
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-07 14:33:15

替换此行

代码语言:javascript
复制
$referral_model = ReferralRequestModel::where('request_hash', $request_hash)->firstOrFail();

因为您将用模型实例替换$request,并尝试使用$request->input('hosp_no')获取值,例如

$request->input('hosp_no')该方法将尝试从您的ReferralRequestModel获取输入法

因此,请替换上面的行,并在需要的地方使用$referral_model

还建议使用trycatch块来处理异常。因为如果找不到数据,firstOrFail会抛出Illuminate\Database\Eloquent\ModelNotFoundException异常

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55037256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档