Код: Выделить всё
$table->string('hotel', 50);
Сейчас проект находится на стадии производства и заказчиков. спросил, почему они не могут вводить длинные названия отелей. Я тестировал это с таким ложным названием отеля, как "Длинное-длинное-длинное-длинное-длинное и очень-очень-очень длинное название отеля 5 звезд"
Это выдало мне ошибку:
"SQLSTATE[22001]: Строковые данные, усеченные справа: 1406 Данные слишком длинные для
столбца 'hotel ' в строке 1"
Я открыл базу данных в Sequel Pro и изменил ее
- сначала в VARCHAR (255)
- затем в TEXT
Я проверил тип столбца с
Код: Выделить всё
SHOW FIELDS FROM table_name
Поле | Тип
отеля | text
так что тип поля действительно «текстовый» (65 535 символов).
Возможно, это так. как-то связано с файлом миграции Laravel (см. выше), где я вначале установил VARCHAR (50)? Но я не могу повторно запустить миграцию в рабочей среде, поскольку в таблице теперь есть данные.
Буду признателен за любую помощь.
ОБНОВЛЕНИЕ:
Я обнаружил, что оно фактически сохраняет это длинное название отеля в базе данных. Но пользователь по-прежнему сталкивается с этой досадной ошибкой каждый раз после отправки формы...
Подробнее здесь: https://stackoverflow.com/questions/484 ... for-column