par
rjuan » 03 mars 2021, 15:34
Merci Ryle,
La méthode getQualite() retourne la propriété qualite de l'instance User.
La propriété est renseignée en fin d'extrait (ci-dessous) par la méthode setQualite() de User.
Voici le contexte, il s'agit de populariser une 'fake' base de données:
for ($p = 1; $p < 50; $p++) {
$user = new Personne;
dump($user);
$hash = $this->encoder->encodePassword($user, "password");
$user->setTitre($faker->title($gender = 'male' | 'female'))
->setNom($faker->lastName())
->setPrenom($faker->firstName())
->setEntreeStjo($faker->numberBetween(1948, 1990))
->setSortieStjo($user->getEntreeStjo() + $faker->numberBetween(3, 7))
->setProfession($faker->jobTitle())
->setDateCreation($faker->dateTimeBetween('-6 months'))
->setDateMiseAJour($faker->dateTimeBetween('- 7 days'))
->setRefuseContact($faker->boolean(5))
->setRole("ROLE_USER")
->setEnvoiPapier($faker->boolean(1))
->setPassword($hash)
->setAdresse1($faker->streetAddress())
->setAdresse2($faker->secondaryAddress())
->setCodePostal($faker->postcode())
->setVille($faker->city())
->setPays($faker->country());
$qualite = $faker->randomElement(['ancien', 'contact', 'professeur']);
dump($qualite);
$user->setQualite($qualite);
dd($user);
Après l'instruction $user= new User, en début de script, un dump montre la propriété "qualite" : NULL (bien sûr l'objet est "neuf").
A la fin du script, le dump de "qualite" affiche bien une chaîne de caractères résultante de la commande randomElement (ex. professeur).
J'exécute ensuite la fonction setQualite de user pour lui attribuer la qualite obtenue (string).
Problème: le dump de user montre : qualite=true (cf. ci-dessous).
En base de données : 1
-avatarPersonne: null
-envoiPapier: false
-qualite: true