| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Factories\HasFactory;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\SoftDeletes;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- /**
- * @property int $id
- * @property int $student_contract_id
- * @property int $unit_id
- * @property int $student_id
- * @property string $type
- * @property string $history
- * @property int $installment_number
- * @property int $total_installments
- * @property float $value
- * @property float $paid_value
- * @property float $discount
- * @property float $fine
- * @property \Illuminate\Support\Carbon $due_date
- * @property \Illuminate\Support\Carbon|null $payment_date
- * @property \Illuminate\Support\Carbon|null $cancelled_at
- * @property string|null $cancellation_reason
- * @property string|null $asaas_id
- * @property string $status
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property \Illuminate\Support\Carbon|null $deleted_at
- * @property string|null $billing_type PIX, BOLETO, CREDIT_CARD
- * @property string|null $asaas_status
- * @property string|null $invoice_url
- * @property string|null $asaas_customer_id
- * @property-read string $order
- * @property-read \App\Models\Student $student
- * @property-read \App\Models\StudentContract $studentContract
- * @property-read \App\Models\Unit $unit
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment onlyTrashed()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment query()
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereAsaasCustomerId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereAsaasId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereAsaasStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereBillingType($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereCancellationReason($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereCancelledAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereDeletedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereDiscount($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereDueDate($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereFine($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereHistory($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereInstallmentNumber($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereInvoiceUrl($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment wherePaidValue($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment wherePaymentDate($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereStatus($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereStudentContractId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereStudentId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereTotalInstallments($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereType($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereUnitId($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereUpdatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment whereValue($value)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment withTrashed(bool $withTrashed = true)
- * @method static \Illuminate\Database\Eloquent\Builder<static>|StudentContractInstallment withoutTrashed()
- * @mixin \Eloquent
- */
- class StudentContractInstallment extends Model
- {
- use HasFactory, SoftDeletes;
- protected $table = 'student_contract_installments';
- protected $guarded = ['id'];
- protected $casts = [
- 'value' => 'float',
- 'paid_value' => 'float',
- 'discount' => 'float',
- 'fine' => 'float',
- 'due_date' => 'date:Y-m-d',
- 'payment_date' => 'date:Y-m-d',
- 'cancelled_at' => 'datetime',
- 'created_at' => 'datetime',
- 'updated_at' => 'datetime',
- ];
- /** Retorna a ordem formatada, ex: "1/12" */
- public function getOrderAttribute(): string
- {
- return "{$this->installment_number}/{$this->total_installments}";
- }
- public function studentContract(): BelongsTo
- {
- return $this->belongsTo(StudentContract::class);
- }
- public function unit(): BelongsTo
- {
- return $this->belongsTo(Unit::class);
- }
- public function student(): BelongsTo
- {
- return $this->belongsTo(Student::class);
- }
- }
|