osb/database/factories/ProductFactory.php

73 lines
1.2 KiB
PHP

<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use App\Models\Product;
use App\Traits\FactoryActiveTrait;
class ProductFactory extends Factory
{
use FactoryActiveTrait;
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Product::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'id' => $this->faker->numberBetween(1,65535),
// 'created_at',
// 'updated_at',
//* 'site_id', // Needs to be passed in
'taxable' => TRUE,
'active' => TRUE,
// 'position'
'pricing'=>json_encode([
[
'show'=>true,
[
'setup'=>50,
'base'=>100,
]
]
]),
// 'price_recur_default'
// 'price_recur_strict'
'model_id' => 1,
// 'accounting'
'model' => Product\Broadband::class,
];
}
/* STATES */
public function notStrict()
{
return $this->state(function () {
return [
'price_recur_strict' => FALSE,
];
});
}
public function strict()
{
return $this->state(function () {
return [
'price_recur_strict' => TRUE,
];
});
}
}