【发布时间】:2020-01-01 22:32:27
【问题描述】:
我正在为护士开发一个 Laravel 6 应用程序,我需要创建一个病人。我的问题是许多患者可以有相同的地址和姓氏。我尝试了不同的方法来检查患者是否已经存在,但结果是我不能让两个患者拥有相同的数据。我想检查数据库中关于新患者的所有信息是否都等于一个。
我尝试了以下方法,但没有成功。
if ($patientotal = Patient::where([
['nom', $data],
['prenom', $data],
['telephone', $data],
['adresse', $data],
['codePostale', $data],
['ville', $data],
['infoSupplementaire', $data]
])->doesntExist()) {
}
控制器
public function store(Request $request)
{
$data = Validator::make($request->all(), [
'nom' => 'required',
'prenom' => 'required',
'telephone' => 'required',
'adresse' => 'required',
'codePostale' => 'required',
'ville' => 'required',
'infoSupplementaire' => 'required',
]);
$patient = new Patient();
$patient->nom = $request->nom;
$patient->prenom = $request->prenom;
$patient->telephone = $request->telephone;
$patient->adresse = $request->adresse;
$patient->codePostale = $request->codePostale;
$patient->ville = $request->ville;
$patient->infoSupplementaire = $request->info;
if ($patient->save()) {
if ($request->has('debut', 'fin')) {
$dataOrdo = Validator::make($request->all(), [
'dateOrdonnance' => 'required',
]);
$datedebut = Carbon::parse($request->debut);
$datefin = Carbon::parse($request->fin);
$ordonnance = new Ordonnance();
$ordonnance->debut = $datedebut;
$ordonnance->fin = $datefin;
$ordonnance->patient_id = $patient->id;
if ($ordonnance->save()) {
session()->put('id_ordonnance', $ordonnance->id);
return ['patient' => $patient, 'ordonnance' => $ordonnance];
}
}
};
return response()->json([$request->all()]);
}
【问题讨论】:
-
你也可以试试
insertOrIgnore。 -
我尝试过 insertOrIgnore , firstAndNew, Exist, doesntExist 也许我做错了