diff --git a/app/Jobs/Commands/PublicContracts/PurgePublicContracts.php b/app/Jobs/Commands/PublicContracts/PurgePublicContracts.php new file mode 100644 index 000000000..7b3b8031d --- /dev/null +++ b/app/Jobs/Commands/PublicContracts/PurgePublicContracts.php @@ -0,0 +1,67 @@ +greaterThan($contract->date_expired)) { + //Delete the contract + PublicContract::where([ + 'id' => $contract->id, + ])->delete(); + + //Delete the items from the contract from the other table + PublicContract::where([ + 'contract_id' => $contract->id, + ])->delete(); + } + } + } +} diff --git a/app/Models/PublicContracts/PublicContract.php b/app/Models/PublicContracts/PublicContract.php index 6a78c2b8e..85db3ce4b 100644 --- a/app/Models/PublicContracts/PublicContract.php +++ b/app/Models/PublicContracts/PublicContract.php @@ -35,4 +35,8 @@ class PublicContract extends Model 'type', 'volume', ]; + + public function items() { + return $this->hasMany('App\Models\PublicContracts\PublicContractItem', 'contract_id', 'contract_id'); + } } diff --git a/app/Models/PublicContracts/PublicContractItem.php b/app/Models/PublicContracts/PublicContractItem.php index 589bc9cbd..1efeb106c 100644 --- a/app/Models/PublicContracts/PublicContractItem.php +++ b/app/Models/PublicContracts/PublicContractItem.php @@ -18,6 +18,7 @@ class PublicContractItem extends Model * @var array */ protected $fillable = [ + 'contract_id', 'is_blueprint_copy', 'is_included', 'item_id', @@ -28,4 +29,8 @@ class PublicContractItem extends Model 'time_efficiency', 'type_id', ]; + + public function contract() { + return $this->hasOne('App\Models\PublicContracts\PublicContract', 'contract_id', 'contract_id'); + } } diff --git a/database/migrations/2020_05_14_070638_create_buy_public_contracts_table.php b/database/migrations/2020_05_14_070638_create_buy_public_contracts_table.php index 4b8d89ae1..8322dc5b7 100644 --- a/database/migrations/2020_05_14_070638_create_buy_public_contracts_table.php +++ b/database/migrations/2020_05_14_070638_create_buy_public_contracts_table.php @@ -44,6 +44,7 @@ class CreateBuyPublicContractsTable extends Migration if(!Schema::hasTable('public_contract_items')) { Schema::create('public_contract_items', function (Blueprint $table) { $table->unsignedBigIncrements('id'); + $table->unsignedBigInteger('contract_id'); $table->boolean('is_blueprint_copy')->nullable(); $table->boolean('is_included'); $table->unsignedBigInteger('item_id')->nullable();