Laravel: ошибка при запуске Seeder

Я получаю сообщение об ошибке при создании сеялки таблиц с использованием фабрики моделей в laravel 5.3, но я не знаю, в чем здесь ошибка.

[ErrorException] Аргумент 1, передаваемый в Illuminate \ Database \ Grammar :: parameterize (), должен иметь тип массива и заданную строку, вызываемую в D: \ Coding \ php \ laravel \ simple-blog \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Query \ Grammars \ Grammar.php в строке 660 и определены

Вот мой код:

Модель:

<?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();
}
}

0

Решение

'title' => $faker->sentences(5), производит массив с 5 значениями. Сделайте var перед возвратом и приведите туда эти предложения.

Или же sentences(5, true); Подготовит для вас текст из 5 предложений.

2

Другие решения

Других решений пока нет …