Чувствительность к регистру - это то, что контролируется на уровне базы данных. сопоставление , которое вы используете в своих таблицах, определяет, как символы обрабатываются и упорядочиваются.При сопоставлении без учета регистра символы верхнего и нижнего регистра обрабатываются одинаково.
Если вы используете MySQL, если у вас есть сопоставление, оканчивающееся на _ci
, это означает, что вы используете регистр без учета регистрапараметры сортировки.
Вы можете установить параметры сортировки, которые хотите использовать в настройках базы данных Laravel:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Здесь вы можете изменить collation
на регистр с учетом регистра и один разваши таблицы были созданы с помощью этого нового сопоставления, MySQL будет обрабатывать символы верхнего и нижнего регистра по-разному.
При сопоставлении, заканчивающемся _cs
или _bin
, обычно учитывается регистр.
Обратите вниманиеоднако это изменение не вступит в силу до тех пор, пока вы не перенастроите свою базу данных (или не измените параметры сортировки вручную), поскольку параметры сортировки устанавливаются при создании таблиц.
Можно выполнить регистрчувствительное сравнение с использованием MySQL, но я не думаю, что Laravel поддерживает его из коробки, поэтому вам придется использовать необработанный запрос для него.