ソースを参照

Merge pull request #57 from andrewdwallo/development-3.x

Fix transaction seeder creation
3.x
Andrew Wallo 1年前
コミット
1215499878
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更12行の追加4行の削除
  1. 12
    4
      database/factories/Accounting/TransactionFactory.php

+ 12
- 4
database/factories/Accounting/TransactionFactory.php ファイルの表示

@@ -38,9 +38,18 @@ class TransactionFactory extends Factory
38 38
     public function configure(): static
39 39
     {
40 40
         return $this->afterCreating(function (Transaction $transaction) {
41
-            $transaction->journalEntries()->create([
41
+            $chartAccount = $transaction->account;
42
+            $bankAccount = $transaction->bankAccount->account;
43
+
44
+            $debitAccount = $transaction->type->isWithdrawal() ? $chartAccount : $bankAccount;
45
+            $creditAccount = $transaction->type->isWithdrawal() ? $bankAccount : $chartAccount;
46
+
47
+            if ($debitAccount === null || $creditAccount === null) {
48
+                return;
49
+            }
50
+
51
+            $debitAccount->journalEntries()->create([
42 52
                 'company_id' => $transaction->company_id,
43
-                'account_id' => $transaction->account_id,
44 53
                 'transaction_id' => $transaction->id,
45 54
                 'type' => 'debit',
46 55
                 'amount' => $transaction->amount,
@@ -49,9 +58,8 @@ class TransactionFactory extends Factory
49 58
                 'updated_by' => $transaction->updated_by,
50 59
             ]);
51 60
 
52
-            $transaction->journalEntries()->create([
61
+            $creditAccount->journalEntries()->create([
53 62
                 'company_id' => $transaction->company_id,
54
-                'account_id' => $transaction->account_id,
55 63
                 'transaction_id' => $transaction->id,
56 64
                 'type' => 'credit',
57 65
                 'amount' => $transaction->amount,

読み込み中…
キャンセル
保存