File: D:/HostingSpaces/centrum8a/centrum8a.com/app/KommaApp/Shop/seeds/SampleOrders.php
<?php
/**
* Created by PhpStorm.
* User: julesgraus
* Date: 02/02/2018
* Time: 11:03
*/
namespace App\KommaApp\Shop\seeds;
use App\KommaApp\Shop\Orders\Models\Order;
use App\KommaApp\Shop\Products\Product\Product;
use App\KommaApp\Shop\Products\Product\ProductService;
use App\KommaApp\Shop\Products\ProductComposite\ProductComposite;
use App\KommaApp\Shop\Products\ProductComposite\ProductCompositeService;
use App\KommaApp\Shop\Products\ProductGroup\ProductGroup;
use App\KommaApp\Shop\Products\ProductGroup\ProductGroupService;
use Illuminate\Database\Seeder;
class SampleOrders extends Seeder
{
public function run()
{
$productService = new ProductService();
$productGroupService = new ProductGroupService();
$productCompositeService = new ProductCompositeService();
/** @var Order $order */
$order = factory(Order::class)->create(); //Also links the order to a random user in the factory
$items = 3;
$products = Product::inRandomOrder()->take($items)->get();
$group = ProductGroup::inRandomOrder()->take(1)->first();
$composite = ProductComposite::inRandomOrder()->take(1)->first();
$products->each(function ($product) use ($order, $productService) {
$orderedProductsOrNull = $productService->createOrderedProductFromProduct($product, $order);
});
$orderedProductGroupOrNull = $productGroupService->createOrderedProductGroupFromProductGroup($group, $order);
$orderedProductCompositeOrNull = $productCompositeService->createOrderedProductCompositeProductComposite($composite, $order);
$order->save();
}
}