Bonjour,
Voila je rencontre un petit problème avec mon code.
Je réalise une application sur Laravel et je rempli ma table tickets via le seeder suivant :
$factory->define(\App\Ticket::class, function (Faker $faker) {
return [
'category' => $faker->randomElement(['Hardware', 'Computer', 'Software', 'Tools']),
'title' => ucfirst($faker->word),
'description' => $faker->text(150),
'severity_id' => $faker->randomElement([1, 2, 3, 4]),
'user_id' => $faker->randomElement([1, 2]),
'resolved' => $faker->randomElement([0, 1]),
'solution' => $faker->text($faker->randomElement([10, 25, 35, 15, 10]))
];
});
Je voudrai que l'attribut solution (qui contient la réponse au ticket) soit rempli uniquement si l'attribut resolved est défini à 1 (soit résolu).
Lorsque je seed, tous mes tickets ont une solution alors que certain ne sont pas résolu.
Merci pour votre aide.
Salut,
Ce que tu peux essayer de faire c'est de stocker le random element avant le return, puis assigner d'autres valeurs en fonction de celle-là et tout mettre dans ton return ensuite.
$factory->define(\App\Ticket::class, function (Faker $faker) {
$resolved = $faker->randomElement([0, 1]);
if ($resolved === 1) {
$solution = $faker->text($faker->randomElement([10, 25, 35, 15, 10]));
} else {
$solution = "";
}
return [
'category' => $faker->randomElement(['Hardware', 'Computer', 'Software', 'Tools']),
'title' => ucfirst($faker->word),
'description' => $faker->text(150),
'severity_id' => $faker->randomElement([1, 2, 3, 4]),
'user_id' => $faker->randomElement([1, 2]),
'resolved' => $resolved,
'solution' => $solution
];
});
Dis moi si ça fonctionne ;)
Bonjour.
Par contre, quel intérêt y a t'il de mettre dans ton tableau de la méthode randomElement
pour l'index solution la valeur 10
à deux reprises ?
C'est peut être pour avoir plus de chance de tomber sur le 10, j'ai déjà vu un pourcentage de chance de tomber sur un boolean, mais jamais sur un RandomElement.