define(App\Models\Product::class, function (Faker $faker) { return [ 'id'=>1, 'site_id'=>1, 'taxable'=>1, 'price_group'=>serialize([ 1=>[ 0=>[ 'price_setup'=>50, 'price_base'=>100, ] ] ]), ]; }); $factory->state(App\Models\Product::class,'active',[ 'active' => 1, ]); $factory->state(App\Models\Product::class,'strict',[ 'price_recurr_strict' => 1, ]); $factory->state(App\Models\Product::class,'notstrict',[ 'price_recurr_strict' => 0, ]); $factory->afterMakingState(App\Models\Product::class,'broadband-unlimit',function ($product,$faker) { $type = factory(App\Models\Product\Adsl::class)->state('unlimit')->make(); $product->setRelation('type',$type); $product->prod_plugin_data = $type->id; $product->model = 'App\Models\Product\Adsl'; }); $factory->afterMakingState(App\Models\Product::class,'broadband-140/0/0/0',function ($product,$faker) { $type = factory(App\Models\Product\Adsl::class)->state('140/0/0/0')->make(); $product->setRelation('type',$type); $product->prod_plugin_data = $type->id; $product->model = 'App\Models\Product\Adsl'; }); $factory->afterMakingState(App\Models\Product::class,'broadband-70/-/0/-',function ($product,$faker) { $type = factory(App\Models\Product\Adsl::class)->state('70/-/0/-')->make(); $product->setRelation('type',$type); $product->prod_plugin_data = $type->id; $product->model = 'App\Models\Product\Adsl'; }); $factory->afterMakingState(App\Models\Product::class,'broadband-100/0/40/0',function ($product,$faker) { $type = factory(App\Models\Product\Adsl::class)->state('100/0/40/0')->make(); $product->setRelation('type',$type); $product->prod_plugin_data = $type->id; $product->model = 'App\Models\Product\Adsl'; }); $factory->afterMakingState(App\Models\Product::class,'broadband-50/-/20/-',function ($product,$faker) { $type = factory(App\Models\Product\Adsl::class)->state('50/-/20/-')->make(); $product->setRelation('type',$type); $product->prod_plugin_data = $type->id; $product->model = 'App\Models\Product\Adsl'; });