我想知道如何保存两个具有一种关系的模型。我不知道如何保存它,但我需要将患者模型的ID分配给我的体重秤模型。
这是我的PatientController。
obj.Roles.Add(_context.Roles.FirstOrDefault(c => c.Name == role));
我尝试使用此代码,但出现错误。
var Role = _context.Roles.FirstOrDefault(c => c.Name == role);
Role.User = obj;
_context.Entry(Role).State = EntityState.Modified;
答案 0 :(得分:0)
您可以尝试如下操作:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'birth' => 'required',
'nacionality' => 'required',
'adress' => 'required',
'phone' => 'required',
'living_method' => 'required',
'responsable' => 'required',
]);
//Create Patient
$patient = new Patient;
$patient->name = $request->name;
$patient->save();
$patient->scale()->create(['patient_id' => $patient->id, 'sd_abc_1_old' => $request->sd_abc_1_old]);
);
return redirect('/patients')->with('success', 'Paciente creado.');
}
如果模型使用了您所说的hasOne()
关系,那么代码可以正常工作,当然需要进行一些修改。
答案 1 :(得分:0)
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'birth' => 'required',
'nacionality' => 'required',
'adress' => 'required',
'phone' => 'required',
'living_method' => 'required',
'responsable' => 'required',
]);
//Create Patient
$patient = Patient::create([
'name' => $request->input('name'),
]);
$scale = Scale::create([
'patient_id' => $patient->id,
'sd_abc_1_old' => $request->sd_abc_1_old,
]);
return redirect('/patients')->with('success', 'Paciente creado.');
}
答案 2 :(得分:-1)
首先创建并存储基本模型,然后将其引用保存相关模型
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'birth' => 'required',
'nacionality' => 'required',
'adress' => 'required',
'phone' => 'required',
'living_method' => 'required',
'responsable' => 'required',
]);
//Create Patient
$patient = new Patient;
$patient->name = $request->input('name');
$patient->save();
$scales = new Scale;
$scales->sd_abc_1_old = $request->input('sd_abc_1_old');
$patient->scales()->save($scales);
return redirect('/patients')->with('success', 'Paciente creado.');
}