Laravel База данных проверки правил не работает - PullRequest
0 голосов
/ 14 февраля 2020

это мой код:

  $id_project = $request->id;
  $rfid       = $request->rfid;

  $validateData = $request->validate([
                    'name'      => 'required|string|max:255',
                    'rfid'      => 'required|min:40',[
                                    Rule::exists('usersdata')->where(function($query) use ($id_project,$rfid){
                                       $query->where('id_project', $id_project)->where('rfid', $rfid);
                                    }),
                    ],
                    'description'   => 'string|max:255|nullable',
                ]);

   $user = UserModel::create($validateData);
   return Response()->json(['success' => 'success insert data'], 200);

Проверка для RFID (требуется или Min 40 char ).
, но если я вставляю с тем же id_project и таким же Данные RFID не работают. тогда как в моей базе уже есть id_project и rfid.
продолжайте успешно вставлять данные.

1 Ответ

1 голос
/ 14 февраля 2020

В вашем коде есть синтаксическая ошибка, сравните код с исправленным:

$validateData = $request->validate([
    'name'      => 'required|string|max:255',
    'rfid'      => [
                       'required',
                       'min:40',
                       Rule::unique('usersdata', 'rfid')
                           ->where('id_project', $id_project)
                   ],
    'description'   => 'string|max:255|nullable',
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...