File: D:/HostingSpaces/centrum8a/centrum8a.com/app/KommaApp/Shop/seeds/SampleProducts.php
<?php
/**
* Created by PhpStorm.
* User: julesgraus
* Date: 02/02/2018
* Time: 11:03
*/
namespace App\KommaApp\Shop\seeds;
use App\KommaApp\Shop\Products\Product\Product;
use App\KommaApp\Shop\Products\ProductComposite\ProductComposite;
use App\KommaApp\Shop\Products\ProductGroup\ProductGroup;
use App\KommaApp\Shop\Products\ProductGroupBehaviour\ProductGroupBehaviour;
use Illuminate\Database\Seeder;
class SampleProducts extends Seeder
{
public function run()
{
// for($i = 0; $i < 50; $i++) {
// $model = factory(Product::class);
// $model->create();
// }
$orBehaviour = ProductGroupBehaviour::where('title', 'or')->first();
$andBehaviour = ProductGroupBehaviour::where('title', 'and')->first();
$xorBehaviour = ProductGroupBehaviour::where('title', 'xor')->first();
($basicGroup = new ProductGroup(['active' => '1', 'title' => 'Roller blind basic set']))->productGroupBehaviour()->associate($andBehaviour)->save();
($cassetteGroup = new ProductGroup(['active' => '1', 'title' => 'Cassette']))->productGroupBehaviour()->associate($xorBehaviour)->save();
($controlGroup = new ProductGroup(['active' => '1', 'title' => 'Control']))->productGroupBehaviour()->associate($orBehaviour)->save();
($bottomBarGroup = new ProductGroup(['active' => '1', 'title' => 'Bottom bar']))->productGroupBehaviour()->associate($xorBehaviour)->save();
($fabricGroup = new ProductGroup(['active' => '1', 'title' => 'Fabric']))->productGroupBehaviour()->associate($xorBehaviour)->save();
($product = new Product(['active' => '1', 'title' => 'Basic - Attachment materials', 'Price' => '799', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$basicGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Basic - Bar', 'Price' => '500', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$basicGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Cassette - Plastic - Aluminum', 'Price' => '2499', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$cassetteGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Cassette - Plastic - White', 'Price' => '1999', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$cassetteGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Cassette - Plastic - Beige', 'Price' => '1999', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$cassetteGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Bottom bar - Plastic - Aluminium', 'Price' => '299', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$bottomBarGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Bottom bar - White - Aluminium', 'Price' => '299', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$bottomBarGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Bottom bar - Beige - Aluminium', 'Price' => '299', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$bottomBarGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Control left - Chain', 'Price' => '299', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$controlGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Control right - Chain', 'Price' => '299', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$controlGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - White', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - White', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - Blackout dark', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - Cream', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - Beige', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($product = new Product(['active' => '1', 'title' => 'Fabric - Grey', 'Price' => '794', 'stock_keeping_unit' => 'EAN'.mt_rand(1000000, 9999999)]))->save();
$fabricGroup->products()->attach($product);
($productComposite = new ProductComposite(['active' => '1', 'title' => 'Roller blind']))->save();
$productComposite->groups()->attach($basicGroup);
$productComposite->groups()->attach($fabricGroup);
$productComposite->groups()->attach($cassetteGroup);
$productComposite->groups()->attach($controlGroup);
$productComposite->groups()->attach($bottomBarGroup);
}
}