command->option('count'); factory(Contact::class, (int)$count)->create(); factory(Item::class, (int)$count)->create(); factory(Account::class, (int)$count)->create(); factory(Bill::class, (int)$count)->create(); factory(Invoice::class, (int)$count)->create(); for ($i = 0; $i < $count; $i++) { $amount = $faker->randomFloat(2, 1, 1000); $invoices = Invoice::where('status', 'sent')->get(); if (0 === $invoices->count()) { continue; } $invoice = $invoices->random(1)->first(); $this->dispatch( new CreateDocumentTransaction( $invoice, factory(Transaction::class)->state('income')->raw( [ 'contact_id' => $invoice->contact_id, 'document_id' => $invoice->id, 'amount' => $amount > $invoice->amount ? $invoice->amount : $amount, ] ) ) ); } for ($i = 0; $i < $count; $i++) { $amount = $faker->randomFloat(2, 1, 1000); $bills = Bill::where('status', 'received')->get(); if (0 === $bills->count()) { continue; } $bill = $bills->random(1)->first(); $this->dispatch( new CreateDocumentTransaction( $bill, factory(Transaction::class)->state('expense')->raw( [ 'contact_id' => $bill->contact_id, 'document_id' => $bill->id, 'amount' => $amount > $bill->amount ? $bill->amount : $amount, ] ) ) ); } Model::unguard(); } }