whereBelongsToOrganization(Organization $organization) * @method static ProjectMemberFactory factory() */ class ProjectMember extends Model implements AuditableContract { use CustomAuditable; /** @use HasFactory */ use HasFactory; use HasUuids; /** * The attributes that should be cast. * * @var array */ protected $casts = [ 'billable_rate' => 'int', ]; /** * @return BelongsTo */ public function project(): BelongsTo { return $this->belongsTo(Project::class, 'project_id'); } /** * @deprecated Use member relationship instead * * @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class, 'user_id'); } /** * @return BelongsTo */ public function member(): BelongsTo { return $this->belongsTo(Member::class, 'member_id'); } /** * @param Builder $builder */ public function scopeWhereBelongsToOrganization(Builder $builder, Organization $organization): void { $builder->whereHas('project', static function (Builder $query) use ($organization): void { $query->whereBelongsTo($organization, 'organization'); }); } }