Php 流明播种机上伪造者的转义逗号
我正在学习使用factory和faker对mysql数据库在lumen上进行一些简单的迁移和植入,下面是我的代码:Php 流明播种机上伪造者的转义逗号,php,mysql,laravel,lumen,faker,Php,Mysql,Laravel,Lumen,Faker,我正在学习使用factory和faker对mysql数据库在lumen上进行一些简单的迁移和植入,下面是我的代码: PostSeeder.php use Illuminate\Database\Seeder; class PostSeeder extends Seeder { public function run() { factory(App\Models\Post::class, 40)->create(); } } $facto
PostSeeder.php
use Illuminate\Database\Seeder;
class PostSeeder extends Seeder
{
public function run()
{
factory(App\Models\Post::class, 40)->create();
}
}
$factory->define(Post::class, function (Faker $faker) {
return [
'post_id' => Str::uuid(),
'title' => $faker->sentence(3),
'content' => $faker->realText(200),
'user_id' => Str::uuid(),
'created_at' => $faker->dateTimeBetween('-1 years', 'now')->format('Y-m-d H:i:s'),
'created_by' => Str::uuid(),
'app' => NULL
];
});
在工厂PostFactory.php
use Illuminate\Database\Seeder;
class PostSeeder extends Seeder
{
public function run()
{
factory(App\Models\Post::class, 40)->create();
}
}
$factory->define(Post::class, function (Faker $faker) {
return [
'post_id' => Str::uuid(),
'title' => $faker->sentence(3),
'content' => $faker->realText(200),
'user_id' => Str::uuid(),
'created_at' => $faker->dateTimeBetween('-1 years', 'now')->format('Y-m-d H:i:s'),
'created_by' => Str::uuid(),
'app' => NULL
];
});
当我尝试运行播种机时,出现如下错误:
SQLSTATE[22001]:字符串数据,右截断:1406数据太长,无法读取
第1行的“用户id”列(SQL:插入到“posts”(“post\u id”,“title”,
“内容”、“用户id”、“创建时间”、“创建人”、“应用程序”值
(c1460ae8-e472-4439-aad8-af3aaf090268,假设
伊帕·科鲁普蒂,国王胜利地指着海岸,然后
她踩着眼镜,又开始尽快地把眼镜捡起来
下一件事就是像野兽一样打鼾,
(尖叫着“走开”)
我不确定,但看起来好像在faker realText上,查询中没有转义逗号,是否需要在工厂中添加任何内容以转义faker,或者需要在数据库中执行某些操作
我在ubuntu 18.04和lumen 7.x上使用mysql 14.14
在posts表中,内容类型为text检查leaats 36中应有的'user\u id'的大小,正如nbk所说,根据错误消息中'user\u id'列的
数据过长部分,检查user\u id
列的长度。与realText
中的逗号无关。谢谢,看起来我检查得不够好,在检查表后,问题是用户id列的大小