© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•2y ago•
3 replies
Soundmit

Filtering table, second filter doesn't works

 ->filters([
                Filter::make('is_applicant')

                    ->toggle()
                    ->query(function (Builder $query) use ($userId) {
                        $query->where('user_id', $userId);
                    }),
                Filter::make('is_responsible')

                    ->toggle()
                    ->query(function (Builder $query) use ($userId) {
                        $query->whereHas('project.responsible', function ($query) use ($userId) {
                            $query->where('user_id', $userId);
                        });
                    })
 ->filters([
                Filter::make('is_applicant')

                    ->toggle()
                    ->query(function (Builder $query) use ($userId) {
                        $query->where('user_id', $userId);
                    }),
                Filter::make('is_responsible')

                    ->toggle()
                    ->query(function (Builder $query) use ($userId) {
                        $query->whereHas('project.responsible', function ($query) use ($userId) {
                            $query->where('user_id', $userId);
                        });
                    })

the first filter shows only the requests created by me
the second filter should display only the requests for which i'm responsible trough a project (a request belongTo a project, a project has many responsibles (user) )

in the request model (rams)
  public function project()
    {
        return $this->belongsTo(RamsProject::class, 'project_id');
    }

in the project model
 public function responsible(): BelongsToMany
    {
        return $this->belongsToMany(User::class, 'rams_projects_users', 'project_id', 'user_id');
    }

    public function rams(): hasMany
    {
        return $this->hasMany(Rams::class, 'project_id');
    }
  public function project()
    {
        return $this->belongsTo(RamsProject::class, 'project_id');
    }

in the project model
 public function responsible(): BelongsToMany
    {
        return $this->belongsToMany(User::class, 'rams_projects_users', 'project_id', 'user_id');
    }

    public function rams(): hasMany
    {
        return $this->hasMany(Rams::class, 'project_id');
    }
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

TextInput Autocomplete doesn't works
FilamentFFilament / ❓┊help
16mo ago
Infolist columns doesn't works
FilamentFFilament / ❓┊help
3y ago
Table filter
FilamentFFilament / ❓┊help
12mo ago
Second level filtering in relationship manager
FilamentFFilament / ❓┊help
3y ago