File: D:/HostingSpaces/brameda/brameda.nl/app/Komma/Shop/Factories/ProductRelatedFactories.php
<?php
/*
|--------------------------------------------------------------------------
| Product Factories
|--------------------------------------------------------------------------
|
| Here you may define all of your model factories.
| Model factories give
| you a convenient way to create models for testing and seeding your
| database. Just tell the factory how a default model should look.
*/
use App\Komma\Globalization\Languages\Models\Language;
use App\Komma\Shop\Products\Product\Product;
use App\Komma\Shop\Products\Product\ProductTranslation;
use App\Komma\Shop\Products\ProductComposite\ProductComposite;
use App\Komma\Shop\Products\ProductComposite\ProductCompositeTranslation;
use App\Komma\Shop\Products\ProductGroup\ProductGroup;
use App\Komma\Shop\Products\ProductGroup\ProductGroupTranslation;
use App\Komma\Shop\Products\ProductGroupBehaviour\ProductGroupBehaviour;
$prefix = '';
$factory->define(Product::class, function (Faker\Generator $faker) use ($prefix) {
return [
'price' => $faker->randomNumber(4),
'stock_keeping_unit' => $faker->ean13,
'created_at' => \Carbon\Carbon::now()->toDateTimeString(),
'updated_at' => \Carbon\Carbon::now()->toDateTimeString()
];
});
$factory->define(ProductTranslation::class, function (Faker\Generator $faker) use ($prefix) {
$language = Language::where('iso_2', '=', 'nl')->first();
return [
'name' => $faker->productName(),
'language_id' => $language->id,
'product_id' => factory(Product::class)->create()->id
];
});
$factory->define(ProductGroup::class, function (Faker\Generator $faker) use ($prefix) {
return [
'active' => true,
'product_group_behaviour_id' => factory(ProductGroupBehaviour::class)->create()->id
];
});
$factory->define(ProductGroupTranslation::class, function (Faker\Generator $faker) use ($prefix) {
$language = Language::where('iso_2', '=', 'nl')->first();
return [
'name' => $faker->productName(),
'language_id' => $language->id,
'product_group_id' => factory(ProductGroup::class)->create()->id
];
});
$factory->define(ProductGroupBehaviour::class, function (Faker\Generator $faker) use ($prefix) {
return [
'name' => $faker->productGroupBehaviour(),
];
});
$factory->define(ProductComposite::class, function (Faker\Generator $faker) use ($prefix) {
return [
'active' => true,
];
});
$factory->define(ProductCompositeTranslation::class, function (Faker\Generator $faker) use ($prefix) {
$language = Language::where('iso_2', '=', 'nl')->first();
return [
'name' => $faker->productName(),
'language_id' => $language->id,
'product_composite_id' => factory(ProductComposite::class)->create()->id
];
});