| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace App\Models;
- use App\Enums\PartnerAgreementServiceStatusEnum;
- use App\Enums\PartnerAgreementServiceTypeEnum;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\HasMany;
- use Illuminate\Database\Eloquent\SoftDeletes;
- use App\Models\Media;
- class PartnerAgreementService extends Model
- {
- use SoftDeletes;
- protected $guarded = ['id'];
- protected function casts(): array
- {
- return [
- 'price' => 'float',
- 'associate_price' => 'float',
- 'supplier_price' => 'float',
- 'requires_scheduling' => 'boolean',
- 'type' => PartnerAgreementServiceTypeEnum::class,
- 'status' => PartnerAgreementServiceStatusEnum::class,
- ];
- }
- public function partnerAgreement(): BelongsTo
- {
- return $this->belongsTo(PartnerAgreement::class)->withTrashed();
- }
- public function category(): BelongsTo
- {
- return $this->belongsTo(Category::class);
- }
- public function appointments(): HasMany
- {
- return $this->hasMany(Appointment::class);
- }
- public function media(): HasMany
- {
- return $this->hasMany(Media::class, 'source_id')->where('source', 'partner_agreement_service');
- }
- }
|