Bonjour,
J'utilise Faker de fzaninotto pour générer des fakes (Articles etc.)
et j'obtiens l'erreur suivante dans lorem.php à la ligne 135:
join(): Argument #1 ($pieces) must be of type array, string given
J'utilise la version Symfony CLI version v4.26.3, Symfony version 5.3.7, php 8, mysql 5.7.31
return join(static::sentences($nbSentences), ' ');
Bon, ça marche de cette façon:
// return join(static::sentences(' ', $nbSentences)) . '.';
return join(static::sentences($nbSentences));
il y a aussi cette ligne (95) qu'il faut corriger:
// return join($words, ' ') . '.';
return join(' ', $words) . '.';
Par contre, il faut mettre une valeur par défaut à la date dans la table sinon, cela ne fonctionne pas.
Mon code pour générer des données dans AppFixtures.php:
<?php
namespace App\DataFixtures;
use App\Entity\Article;
use App\Entity\Category;
use App\Entity\User;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;
use Faker;
class AppFixtures extends Fixture
{
public function load(ObjectManager $manager)
{
// $product = new Product();
// $manager->persist($product);
$faker = Faker\Factory::create();
$users = [];
for ($i = 0; $i < 50; $i++){
$user = new User();
$user->setUsername($faker->name);
$user->setFirstname($faker->firstname());
$user->setLastname($faker->lastname());
$user->setEmail($faker->email());
$user->setPassword($faker->password());
// $user->setCreatedAt($faker->CreatedAt());
$user->setCreatedAt(new \DateTimeImmutable());
$manager->persist($user);
$users[] = $user;
}
$categories = [];
for ($i = 0; $i < 15; $i++){
$category = new Category();
$category->setTitle($faker->text(50));
$category->setDescription($faker->text(250));
$category->setImage($faker->ImageUrl());
$manager->persist($category);
$categories[] = $category;
}
// $articles = [];
for ($i = 0; $i < 100; $i++){
$article = new Article();
$article->setTitle($faker->text(50));
$article->setContent($faker->text(6000));
$article->setImage($faker->ImageUrl());
// $article->setCreatedAt($faker->CreatedAt());
$article->setCreatedAt(new \DateTimeImmutable());
$article->addCategory($categories[$faker->numberBetween(0,14)]);
$article->setAuthor($users[$faker->numberBetween(0,49)]);
$manager->persist($article);
// $articles[] = $article;
}
$manager->flush();
}
}
Voilà, si ça peut aider
Je vous remercie de votre aide