php - Laravel Seeder 类和数组上的第三项给出异常
问题描述
我正在播种 [skills] 表,但我在控制台中遇到错误,而且非常模糊。如果你检查,真的没什么用。只是个例外。
我试图播种的数据很自然,接受 的string
列是BLOB。images
image
MySQL 工作台:
奇怪的是,您可以看到一些种子数据经过(HTML 和 CSS)。这些图像文件存储在 storage 中/storage/app/images/skills/MY_IMAGE_FILE.png
。
我确保它不是PATH中的错字,所以文件一定有问题,但是这个javascript /storage/app/images/skills/javascript_logo.jpg
,数组上的第三个是播种引发异常的地方。
这是我要播种的数组。如您所见,阵列上的第 3 项失败。
SkillsSeeder.php*
测试第三个文件是否损坏。我尝试直接在我的视图文件中运行该文件。
<img src="data:image/png;base64, {{ base64_encode(file_get_contents(storage_path('app/images/skills/javascript_logo.jpg'))) }}" />
但它在浏览器上正确显示。所以它必须是格式。我试图将其更改为.png
. 仍然出现播种错误,但如果直接显示在视图上,它可以工作。
在这一点上,我确信:
- 图片文件没问题。
- 存储路径没问题。
- 文件格式不是问题。
我的猜测:
- 播种机出了点问题,但是怎么来的,我有另一个表在数据类型和播种器类方面具有相同的列(varchar 和 BLOB),它使用完全相同的方法,但不会失败。那和这个播种机几乎是一样的。
很抱歉打包了大量图片,但最后一张图片只是播种机。
我真的很困惑为什么三号种子会失败。就第3个。
解决方案
BLOB 大小限制为 65kB,仅应使用 MEDIUMBLOB。现在,Laravel Schema builder 不支持 MEDIUMBLOB。你检查这个如何添加 MEDIUMBLOB
推荐阅读
- python - os.listdir 也从文件夹中获取文件
- python - 如何使用 pixmap 和 Qlabel 使图像可选择?
- node.js - Is there any method to fetch the data from back-end MongoDB and show at front-end react JS?
- google-cloud-platform - 我无法创建网关 API Google 错误:“无法转换为服务配置。”位置:“未知位置”
- chart.js - ChartJs:有没有办法控制多行轴标签的每行字体选项
- python - sklearn coef_ lists in Ridge, RANSAC and linear regressions
- websocket - can someone explain me, how does a Websocket connection becomes persistent under the hood
- python - How do I perform a cumulative sum on groups of numbers in a list?
- vba - 如何使此代码遍历查询中的每条记录并执行 if 语句?
- java - Android Studio WebView 在网页上加载某些元素的问题