我正在运行三天前创建的Laravel 5.4项目。
我在ModelFactory.php
:
$factory->define(\App\Models\Definition::class, function (Faker\Generator $faker) {
$tag = "tag";
$category = "cat";
return [
'name' => $faker->words,
'description' => $faker->realText,
'tags' => $tag,
'price' => $faker->numberBetween(500, 50000),
'category' => $category
];
});
在我的DatabaseSeeder.php
run()
:
DB::table('definitions')->truncate();
factory(Definition::class, 200)->create();
但是当我跑db:seed
时,我会继续:
SQLSTATE [HY000]:一般错误:1个表定义没有名为0的列(SQL:插入"定义"(" 0"," 1" ," 2")选择quia为" 0",不,没有剩下的拱门,所有的都是湿润的,交叉的,不舒服的。 我已经得到了很多东西。 (爱丽丝没有理由因为在游行中提出这样的规则而感到羞耻;因为" 1", 1302 as" 2"联盟所有选择猫作为" 0",2017-03-17 10:51:53 as" 1",2017-03-17 10:51:53 as" 2& #34; UNI 在所有选择? as" 0",? as" 1",? as" 2"联盟所有选择? as" 0",? as" 1",? as" 2"联盟所有选择? as" 0", ? as" 1",? as" 2"联盟所有选择? as" 0",? as" 1",? as" 2"联盟所有选择? as" 0",? as" 1",? as" 2")
我的表架构:
Schema::create('definitions', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('description')->nullable();
$table->integer('price');
$table->json("tags");
$table->string('category');
$table->unsignedInteger('x_id')->nullable();
$table->nullableTimestamps();
我的Definition类中有$guarded = [];
。我想也许这是一个骗子,因为我没有想法。
答案 0 :(得分:1)
'description' => $faker->realText
这应该是一个功能。
'description' => $faker->realText()
另外
'name' => $faker->words
应该是一个函数,但它返回一个数组,而不是一个字符串。 你可以用
'name' => $faker->name()
或
'name' => $faker->sentence(3)
如果你只想要一个3个字的句子。