Laravel Класс сеялки и 3-й элемент массива дают исключение - PullRequest
0 голосов
/ 03 апреля 2020

Я заполняю таблицу [навыков], но получаю сообщение об ошибке в консоли, и оно настолько расплывчато. Если вы проверите, ничего полезного на самом деле. Просто исключение.

enter image description here

Данные, которые я пытаюсь засечь , string и images так естественно столбец, который принимает image, является BLOB .

MySQL Верстак:

enter image description here

Как ни странно, как вы можете видеть некоторые данные семян прошло (HTML & CSS). Эти файлы изображений хранятся в хранилище /storage/app/images/skills/MY_IMAGE_FILE.png.

Я убедился, что это не опечатка в PATH , поэтому что-то должно быть не так с файлом, но это javascript /storage/app/images/skills/javascript_logo.jpg, третий в массиве - это то, где засевание вызывает исключение.

Это массив, который я пытаюсь заполнить. Как видите, третий элемент массива не работает.

SkillsSeeder. php*

enter image description here

Чтобы проверить, не поврежден ли 3-й файл. Я попытался запустить файл непосредственно в файле просмотра.

<img src="data:image/png;base64, {{ base64_encode(file_get_contents(storage_path('app/images/skills/javascript_logo.jpg'))) }}" />

, но он правильно отображается в браузере. Так должно быть в формате. Я пытался изменить его на .png. По-прежнему появляется ошибка Seeding, но если она отображается прямо на экране, это работает.

На данный момент я уверен, что:

  1. Файл изображения в порядке.
  2. Путь к хранилищу в порядке.
  3. Файл Формат НЕ является проблемой.

Мои догадки:

  1. Что-то не так с сеялкой, но как получилось, у меня была другая таблица с такими же столбцами (varchar & BLOB) с точки зрения типа данных и сеялки класс, который использует те же самые методы, но это не терпит неудачу. Это и эта сеялка практически идентична.

Извините за упаковку тонн изображений, но это последнее изображение - только Сеялка.

SkillsSeeder. phpenter image description here

Я действительно смущен тем, почему 3-е семя терпит неудачу. Просто 3-й.

1 Ответ

0 голосов
/ 04 апреля 2020

Ограничение размера BLOB-объекта составляет 65 КБ. Следует использовать только MEDIUMBLOB. Теперь Laravel Конструктор схем не поддерживает MEDIUMBLOB. Вы проверяете это, как добавить MEDIUMBLOB

https://www.256kilobytes.com/content/show/500/laravel-how-to-create-a-database-field-of-the-types-mediumblob-longblob-and-other-data-types-not-explicitly-supported-by-the-schema-facade

...