laravel / nova-issues

554 stars 35 forks source link

Filters are duplicated for 2 morphToMany fields with same resource class and filters on pivot columns of relations #6490

Open corporate-libraries opened 1 month ago

corporate-libraries commented 1 month ago

Description:

I have Book resource, in which there are 2 MorphToMany fields, each with different relation but both linked to User resource. Each of the relations have pivot columns which are filterable (timestamp columns on pivot tables).

When page is loaded, filters from one relation are duplicated to another.

From my understanding, this happens because there are 2 endpoint calls for getting each of the fields' filters ->

photo_2024-08-06_12-45-30

and the payload from the latter one overrides filters for both relations.

I guess this happens because Nova binds filters by resource (in FilterController class - Nova::resourceForKey($this->route('resource')); - it resolves as User for both relations)

This issue reproduces specifically in cases with filters on pivot columns

crynobone commented 1 month ago

Please provide full reproducing repository based on fresh installation as suggested in the bug report template (or you can refer to https://github.com/nova-issues for example)

corporate-libraries commented 1 month ago

added link to reproduction repo