define(App\Models\InvoiceItem::class, function (Faker $faker) { return [ 'id'=>1, 'price_base'=>100, ]; }); $factory->afterMaking(App\Models\InvoiceItem::class, function ($item,$faker) { $item->exists = TRUE; }); // Weekly $factory->state(App\Models\InvoiceItem::class,'week',[ 'date_start'=>Carbon::now()->startOfWeek(), 'date_stop'=>Carbon::now()->endOfWeek(), 'item_type'=>0, ]); $factory->state(App\Models\InvoiceItem::class,'week-mid',[ 'date_start'=>Carbon::now()->startOfWeek(), 'date_stop'=>Carbon::now()->endOfWeek()->addDays(3), 'item_type'=>0, ]); // Monthly $factory->state(App\Models\InvoiceItem::class,'month',[ 'date_start'=>Carbon::now()->startOfMonth(), 'date_stop'=>Carbon::now()->endOfMonth(), 'item_type'=>0, ]); $factory->state(App\Models\InvoiceItem::class,'month-mid',[ 'date_start'=>Carbon::now()->startOfMonth(), 'date_stop'=>Carbon::now()->endOfMonth()->addDays(Carbon::now()->daysInMonth/2+1), 'item_type'=>0, ]); // Quarterly $factory->state(App\Models\InvoiceItem::class,'quarter',[ 'date_start'=>Carbon::now()->startOfQuarter(), 'date_stop'=>Carbon::now()->endOfQuarter(), 'item_type'=>0, ]); $factory->state(App\Models\InvoiceItem::class,'quarter-mid',[ 'date_start'=>Carbon::now()->startOfQuarter(), 'date_stop'=>Carbon::now()->startOfQuarter()->addDays(45), 'item_type'=>0, ]); // Half Yearly $factory->state(App\Models\InvoiceItem::class,'half',[ 'date_start'=>Carbon::now()->startOfHalf(), 'date_stop'=>Carbon::now()->endOfHalf(), 'item_type'=>0, ]); $factory->state(App\Models\InvoiceItem::class,'half-mid',[ 'date_start'=>Carbon::now()->startOfHalf(), 'date_stop'=>Carbon::now()->startOfHalf()->addDays(90), 'item_type'=>0, ]); // Yearly $factory->state(App\Models\InvoiceItem::class,'year',[ 'date_start'=>Carbon::now()->startOfYear(), 'date_stop'=>Carbon::now()->endOfYear(), 'item_type'=>0, ]); $factory->state(App\Models\InvoiceItem::class,'year-mid',[ 'date_start'=>Carbon::now()->startOfYear(), 'date_stop'=>Carbon::now()->startOfYear()->addDays(181), 'item_type'=>0, ]); // Two Yearly (price_recurr_strict ignored) $factory->state(App\Models\InvoiceItem::class,'2year',[ 'date_start'=>Carbon::now()->subyear(), 'date_stop'=>Carbon::now()->subday(), 'item_type'=>0, ]); // Three Yearly (price_recurr_strict ignored) $factory->state(App\Models\InvoiceItem::class,'3year',[ 'date_start'=>Carbon::now()->subyear(2), 'date_stop'=>Carbon::now()->subday(), 'item_type'=>0, ]); // Last Month $factory->state(App\Models\InvoiceItem::class,'next-invoice',[ 'date_start'=>Carbon::now()->startOfMonth(), 'date_stop'=>Carbon::now()->endOfMonth(), 'item_type'=>0, ]);