Настройка сообщения об ошибке. Integrity constraint violation: 1062 Duplicate entry

Есть в таблице images поле с уникальным значением

$table->string('url')->unique();

при записи существующего url, генерируется ошибка: Integrity constraint violation: 1062 Duplicate entry
Я перехватываю ошибку с помощью try catch и вывожу текст ошибки.
Подскажите, как можно выводить своё сообщение об ошибке вместо текущего сообщения?
К примеру если по ajax сохранять изображение, после сохранения выводится данное сообщение Integrity constraint violation: 1062 Duplicate entry, и нужно его настроить.


Ответы (1 шт):

Автор решения: Ипатьев

Внутри catch проверить, что это именно такая ошибка, и вернуть свой текст.
В противном случае снова выбросить ошибку чтобы она была обработана глобальным обработчиком ошибок

if ($message === "Integrity constraint violation: 1062 Duplicate entry") {
    return response()->json(['error' => 'Уже есть такая фамилия, насяльник!']);
} else {
    throw $e;
}
→ Ссылка