added relationships for mining taxes

This commit is contained in:
2021-02-22 19:09:11 +09:00
parent e14f9c0764
commit 02db5ce9a1
6 changed files with 52 additions and 4 deletions

View File

@@ -114,6 +114,7 @@ class FetchMiningTaxesLedgersJob implements ShouldQueue
$item = Ledger::updateOrCreate([ $item = Ledger::updateOrCreate([
'character_id' => $ledger->character_id, 'character_id' => $ledger->character_id,
'character_name' => $charName, 'character_name' => $charName,
'observer_id' => $this->observerId,
'last_updated' => $updated, 'last_updated' => $updated,
'type_id' => $ledger->type_id, 'type_id' => $ledger->type_id,
'ore_name' => $typeName, 'ore_name' => $typeName,
@@ -122,6 +123,7 @@ class FetchMiningTaxesLedgersJob implements ShouldQueue
], [ ], [
'character_id' => $ledger->character_id, 'character_id' => $ledger->character_id,
'character_name' => $charName, 'character_name' => $charName,
'observer_id' => $this->observerId,
'last_updated' => $updated, 'last_updated' => $updated,
'type_id' => $ledger->type_id, 'type_id' => $ledger->type_id,
'ore_name' => $typeName, 'ore_name' => $typeName,

View File

@@ -26,4 +26,28 @@ class Invoice extends Model
'date_due', 'date_due',
'status', 'status',
]; ];
public function getPayment() {
return $this->hasMany('App\Models\MiningTax\Payment', 'invoice_id', 'invoice_id');
}
public function getCharacterId() {
return $this->character_id;
}
public function getCharacterName() {
return $this->character_name;
}
public function getStatus() {
return $this->status;
}
public function getLedgers() {
return $this->hasMany('App\Models\MiningTax\Ledger', 'invoice_id', 'invoice_id');
}
public function getInvoiceAmount() {
return $this->invoice_amount;
}
} }

View File

@@ -6,6 +6,9 @@ use Illuminate\Database\Eloquent\Model;
class Ledger extends Model class Ledger extends Model
{ {
use ReplaceableModel;
//Table Name //Table Name
protected $table = 'alliance_mining_tax_ledgers'; protected $table = 'alliance_mining_tax_ledgers';
@@ -19,6 +22,8 @@ class Ledger extends Model
*/ */
protected $fillable = [ protected $fillable = [
'character_id', 'character_id',
'character_name',
'observer_id',
'last_updated', 'last_updated',
'type_id', 'type_id',
'ore_name', 'ore_name',
@@ -27,4 +32,10 @@ class Ledger extends Model
'invoiced', 'invoiced',
'invoice_id', 'invoice_id',
]; ];
public function getInvoice() {
return $this->belongsTo('App\Models\MiningTax\Invoice', 'invoice_id', 'invoice_id');
}
} }

View File

@@ -22,4 +22,10 @@ class Observer extends Model
'observer_id', 'observer_id',
'observer_type', 'observer_type',
]; ];
public function getLedgers() {
return $this->hasMany('App\Models\MiningTax\Ledger', 'observer_id', 'observer_id');
}
} }

View File

@@ -26,4 +26,8 @@ class Payment extends Model
'payment_date', 'payment_date',
'status', 'status',
]; ];
public function getInvoice() {
return $this->belongsTo('App\Models\MiningTax\Invoice', 'invoice_id', 'invoice_id');
}
} }

View File

@@ -18,8 +18,8 @@ class CreateMiningTaxTables extends Migration
$table->id(); $table->id();
$table->unsignedBigInteger('character_id'); $table->unsignedBigInteger('character_id');
$table->string('character_name'); $table->string('character_name');
$table->unsignedBigInteger('invoice_id'); $table->unsignedBigInteger('invoice_id')->nullable();
$table->float('invoice_amount'); $table->float('invoice_amount')->default(0.00);
$table->dateTime('date_issued'); $table->dateTime('date_issued');
$table->dateTime('date_due'); $table->dateTime('date_due');
$table->enum('status', [ $table->enum('status', [
@@ -49,9 +49,10 @@ class CreateMiningTaxTables extends Migration
$table->id(); $table->id();
$table->unsignedBigInteger('character_id'); $table->unsignedBigInteger('character_id');
$table->string('character_name'); $table->string('character_name');
$table->unsignedBigInteger('observer_id')->nullable();
$table->dateTime('last_updated'); $table->dateTime('last_updated');
$table->unsignedBigInteger('type_id'); $table->unsignedBigInteger('type_id')->default(0);
$table->string('ore_name'); $table->string('ore_name')->default('None');
$table->unsignedBigInteger('quantity'); $table->unsignedBigInteger('quantity');
$table->decimal('amount', 20, 2)->default(0.00); $table->decimal('amount', 20, 2)->default(0.00);
$table->enum('invoiced', [ $table->enum('invoiced', [