Laravel Query Builder: неявное преобразование из типа данных varchar в двоичный не допускается - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть таблица tbl_rfaccount со столбцами ID и PW с типами данных BINARY(13). Мне нужно вставить новую строку следующим образом:

DB::connection('sqlsrv')->table('tbl_rfaccount')->insert([
    'ID' => $request->input('username'),
    'PW' => $request->input('password'),
]);

Это не работает из-за Implicit conversion from data type varchar to binary is not allowed., так что работает так:

DB::connection('sqlsrv')->table('tbl_rfaccount')->insert([
    'ID' => DB::raw('CONVERT(binary, \''.$request->input('username').'\')'),
    'PW' => DB::raw('CONVERT(binary, \''.$request->input('password').'\')'),
]);

Но теперь у меня есть два проблемы:

  1. SQL инъекция.
  2. Это выглядит ужасно.

Что было бы хорошим обходным путем?

...