Laravel: 运行 播种器时出错
Laravel: Error when run Seeder
在 laravel 5.3 中使用模型工厂创建 table 播种器时出现错误,但我不知道哪里出错了。
[错误异常]
传递给 Illuminate\Database\Grammar::parameterize() 的参数 1 必须是数组类型,给定的字符串,在第 660 行的 D:\Coding\php\laravel\simple-blog\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php 中调用并定义
这是我的代码:
型号:
<?php
namespace app;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
protected $table = 'articles';
}
模型工厂:
$factory->define(app\Article::class, function (Faker\Generator $faker){
return [
'title' => $faker->sentences(5),
'content' => $faker->text(),
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now()
];
});
迁移:
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
ArticlesTableSeeder:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Faker\Factory as Faker;
use app\Article as Article;
class ArticlesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(Article::class)->create();
}
}
'title' => $faker->sentences(5),
生成包含 5 个值的数组。在 return 之前创建 var 并在那里连接这些句子。
或sentences(5, true);
将为您生成5句文本。
在 laravel 5.3 中使用模型工厂创建 table 播种器时出现错误,但我不知道哪里出错了。
[错误异常] 传递给 Illuminate\Database\Grammar::parameterize() 的参数 1 必须是数组类型,给定的字符串,在第 660 行的 D:\Coding\php\laravel\simple-blog\vendor\laravel\framework\src\Illuminate\Database\Query\Grammars\Grammar.php 中调用并定义
这是我的代码:
型号:
<?php
namespace app;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
protected $table = 'articles';
}
模型工厂:
$factory->define(app\Article::class, function (Faker\Generator $faker){
return [
'title' => $faker->sentences(5),
'content' => $faker->text(),
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now()
];
});
迁移:
public function up()
{
Schema::create('articles', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('content');
$table->timestamps();
});
}
ArticlesTableSeeder:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Faker\Factory as Faker;
use app\Article as Article;
class ArticlesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(Article::class)->create();
}
}
'title' => $faker->sentences(5),
生成包含 5 个值的数组。在 return 之前创建 var 并在那里连接这些句子。
或sentences(5, true);
将为您生成5句文本。