如何检查数据是否已存在laravel

时间:2019-06-30 11:30:24

标签: laravel laravel-5 laravel-5.8

我有2张桌子。患者表和预约表。

患者表:

  • ID
  • 名称
  • 病历号(有序)

预订表

  • ID
  • 住院病人
  • idroom

如果我进行预约,如何查看患者数据?

通过比较患者表格中保留表格字段和标准表格之间的差异进行检查。

如果患者数据已经存在,我们可以进行预订。如果没有患者数据,我们将无法进行预订。

如果事实证明这不好,并且有更好的方法,我接受。

预订控制器(商店)

$this->validate($request,
            [
                'idpatient' => 'required|unique:reservation,idpatient',
                'idroom' => 'required',
            ]);

        Patient::where(function($query) { 
            $query->has('id')
            ->orHas('norekmed');
        })->find(1);

        $reservasi = new Reservasi();
        $reservasi->idpatient = $request->idpatient;
        $reservasi->idroom = $request->idroom;
        $reservasi->save();

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是使用firstOrCreate,然后让验证者检查患者ID和房间ID exist。如果这样做,我将执行以下操作:

$this->validate($request, [
    // This will check if the patient exists.
    'idpatient' => 'required|exists:patients,id',
    // This will check if the room exists.
    'idroom' => 'required|exists:room,id',
]);

// Get the reservation or create one if it does not exist.
$reservasi = Reservasi::firstOrCreate([
    'idpatient' => $request->idpatient,
    'idroom' => $request->idroom,
]);

...