Php Laravel存储到数据库中(错误空值)
我想获取咨询id并将其输入到drug_处方表中。我已经用echo测试了$consultation_id变量,其中有一个正确的值。但我无法将该变量输入到drug_处方表中 以下是控制器的代码:Php Laravel存储到数据库中(错误空值),php,laravel,Php,Laravel,我想获取咨询id并将其输入到drug_处方表中。我已经用echo测试了$consultation_id变量,其中有一个正确的值。但我无法将该变量输入到drug_处方表中 以下是控制器的代码: public function store(Request $request) { $this->validate($request,[ 'client_id' => 'required', 'staff_id' => 'required',
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());
}
公共函数存储(请求$Request)
{
$this->validate$请求[
'客户端id'=>'必需',
'staff_id'=>'required',
“诊断”=>“必需”,
]);
//创建帖子
$咨询=新咨询;
$consultation->client_id=$request->input('client_id');
$consultation->staff_uid=$request->input('staff\u id');
$consultation->client_complaints=$request->input(“client_complaints”);
$consultation->observations=$request->input('observations');
$consultation->physical_normales=$request->input('physical_normales');
$consultation->diagnosis=$request->input('diagnosis');
$consultation->comments=$request->input('comments');
$consultation->save();
$client\u id=$request->client\u id;
$consultation=DB::table(‘consultations’)
->其中('client_id','=',$client_id)
->orderBy('created_at','desc')
->采取(1)
->get();
//var_dump(咨询);
$client\u id=$request->client\u id;
$consultation_id=$consultation[0]->id;
$count=$request->count;
对于($i=0;$i$数量;
如果($quantityStatus!=NULL){
$drug\u处方=新药\u处方;
$drug\u prescription->client\u id=$request->input('client\u id');
$drug\u处方->drug\u id=$request->input('drug'.$i);
$drug\u prescription->consultation\u id=$request->input($consultation\u id);
$drug\u prescription->amount\u perday=$request->input('amount\u perday'.$i);
$druge\u prescription->amount\u of day=$request->input('amount\u of day'.$i);
$drug\u处方->数量=$request->输入('quantity'.$i);
$drug\u处方->价格=$request->输入('price'.$i);
$drug_prescription->save();
}
}
//返回重定向('/appointment')->带有('success','Consultation information Added');
//dd($request->all());
}
$drugh\u prescription->consultation\u id=$request->input($consultation\u id);
应该是
$drugh\u prescription->consultation\u id=$consultation\u id;
因为它的值不是来自请求的输入,而是来自代码内部
$drug_prescription->consultation_id = $request->input($consultation_id) ;
$drug_prescription->consultation_id = $consultation_id;
我希望它能起作用。那么会发生什么?您收到任何错误消息吗?@MagnusEriksson是的,我收到一条错误消息SQLSTATE[23000]:完整性约束冲突:1048列“咨询id”不能为空(SQL:insert into
药物处方”(客户id
,药品id
,咨询id
,每日金额
,每日金额
,数量
,价格
,更新时间
,创建时间
)值(1,1,2,4,2018-08-02 09:33:34)`请更新您的问题,使其包含错误消息,而不是在评论中。感谢您的帮助:)这不是问题。并且感谢您接受此作为解决问题的答案;)