'date', 'end_date' => 'date', 'target' => 'integer', 'budget' => 'decimal:2', 'actual_cost' => 'decimal:2', ]; } public function assignedAgents(): BelongsToMany { return $this->belongsToMany(User::class) ->wherePivot('role', 'agent') ->withPivotValue('role', 'agent') ->withPivot('role'); } public function assignedSupervisors(): BelongsToMany { return $this->belongsToMany(User::class) ->wherePivot('role', 'supervisor') ->withPivotValue('role', 'supervisor') ->withPivot('role'); } public function leads(): HasMany { return $this->hasMany(Lead::class); } public function salesScript(): BelongsTo { return $this->belongsTo(SalesScript::class); } public function product(): BelongsTo { return $this->belongsTo(Product::class); } public function tasks(): MorphMany { return $this->morphMany(Task::class, 'taskable'); } }