首页 > 解决方案 > Laravel 存储到数据库中(错误空值)

问题描述

我想获取咨询 id 并将其输入到 drug_prescription 表中。我已经用 echo 测试了 $consultation_id 变量,其中有一个正确的值。但我无法将该变量输入到 drug_prescription 表中。

下面是控制器的代码:

public function store(Request $request)
{

    $this->validate($request,[
        'client_id' => 'required',
        'staff_id' => 'required',
        'diagnosis' => 'required',
    ]);

    //Create Post
    $consultation = new consultation;
    $consultation->client_id = $request->input('client_id');
    $consultation->staff_id = $request->input('staff_id');
    $consultation->client_complaints = $request->input('client_complaints');
    $consultation->observations = $request->input('observations');
    $consultation->physical_abnormalities = $request->input('physical_abnormalities');
    $consultation->diagnosis = $request->input('diagnosis');
    $consultation->remarks = $request->input('remarks');
    $consultation->save();

$client_id = $request->client_id;

    $consultation = DB::table('consultations')
    ->where('client_id', '=', $client_id)
    ->orderBy('created_at', 'desc')
    ->take(1)
    ->get();

    // var_dump($consultation);

    $client_id = $request->client_id;
    $consultation_id = $consultation[0]->id;

    $count = $request->count;
    for($i=0;$i<$count;$i++){
        $quantity = 'quantity' . $i;
        $quantityStatus = $request->$quantity;
        if($quantityStatus!=NULL){
            $drug_prescription = new drug_prescription;
            $drug_prescription->client_id = $request->input('client_id');
            $drug_prescription->drug_id = $request->input('drug' . $i);
            $drug_prescription->consultation_id = $request->input($consultation_id) ;
            $drug_prescription->amount_perday = $request->input('amount_perday' . $i);
            $drug_prescription->amount_ofday = $request->input('amount_ofday' . $i);
            $drug_prescription->quantity = $request->input('quantity'. $i);
            $drug_prescription->price = $request->input('price'. $i);
            $drug_prescription->save();
        }
    }
    // return redirect('/appointment')->with('success', 'Consultation Infomation Added');
    // dd($request->all());
}

标签: phplaravel

解决方案


$drug_prescription->consultation_id = $request->input($consultation_id) ;应该

$drug_prescription->consultation_id = $consultation_id;

因为它的值不是来自request' 的输入,而是来自你的代码。


推荐阅读