В настоящее время я работаю в проекте и хочу сгенерировать поддельные данные в таблице пакетов.
У меня есть логический столбец featured
для установки пакета или нет.При генерации поддельных данных я хочу, чтобы в каждой строке из трех пакетов был только один рекомендуемый пакет.
Вот мой код,
<?php
use Faker\Generator as Faker;
use App\Paragliding\Models\Package\Package;
use Intervention\Image\Facades\Image;
$factory->define(Package::class, function (Faker $faker) {
return [
'name' => $faker->text(15),
'created_by' => App\User::where('role_id',3)->first()->id,
'feature_image' => function() use($faker){
$name = $faker->text(10);
Image::canvas(1024,768,$faker->hexcolor())->save(config('image.package_feature_path').$name.'jpg');
return $name.'jpg';
},
'images' => function() use($faker){
$images = array();
for($i=0;$i<5;$i++){
$name = $faker->text(10);
Image::canvas(1024,768,$faker->hexcolor())->save(config('image.package_gallery_path').$name.'jpg');
$images[] = $name.'jpg';
}
return json_encode($images);
},
'description' => $faker->realText(150),
'featured' => $faker->randomElement([0,1]),
];
});
Возможно ли это с фабрикой?
Любой видпредложения приветствуются.