Как проверить данные уже существует или нет laravel - PullRequest
0 голосов
/ 30 июня 2019

У меня есть 2 таблицы. Стол пациента и стол бронирования.

Стол пациента:

  • ID
  • имя
  • номер медицинской карты (норкмед)

Таблица бронирования

  • ID
  • idpatient
  • 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 голосов
/ 30 июня 2019

Простым решением может быть использование firstOrCreate и позволить валидатору проверить, существуют ли идентификатор пациента и идентификатор помещения и существуют ли .Если бы я сделал это, я бы сделал следующее:

$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,
]);

...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...