Skip to content

Conversation

Copy link

Copilot AI commented Dec 11, 2025

Enables displaying custom fields from related models in Filament tables. Previously, custom fields could only be displayed for the primary record model.

Changes

API Addition

  • Added forRelation(string $relationName) to BaseBuilder for specifying relation path
  • Returns $this for method chaining with only(), except(), etc.

State Resolution

  • Column components navigate relations via data_get($record, $relationName) before resolving custom field values
  • Added HasCustomFields type checking after relation navigation
  • Graceful null handling when relation is unloaded

Querying

  • Search: Uses nested whereHas() to query related model's custom field values
  • Filters: Applies filter conditions through relation joins
  • Sorting: Disabled for related fields (complexity of joining through custom_field_values)

Updated Components

  • All column implementations (TextColumn, ColorColumn, DateTimeColumn, IconColumn, SingleChoiceColumn, MultiChoiceColumn)
  • All filter implementations (TernaryFilter, SelectFilter)
  • Factories, interfaces, and abstract base classes

Usage

// Display Member custom fields in Registration table
CustomFields::table()
    ->forModel(Member::class)
    ->forRelation('member')
    ->columns()

// In a RelationManager
public function table(Table $table): Table
{
    return $table
        ->columns([
            TextColumn::make('name'),
            ...CustomFields::table()
                ->forModel(Member::class)
                ->forRelation('member')
                ->only(['bio', 'phone'])
                ->columns(),
        ]);
}

Requirements: Related model must implement HasCustomFields and relation must be defined on primary model.

Limitation: Columns are non-sortable when using relations.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/AnourValar/eloquent-serialize/zipball/1a7dead8d532657e5358f8f27c0349373517681e
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/CarbonPHP/carbon/zipball/bdb375400dcd162624531666db4799b36b64e4a1
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/driesvints/blade-heroicons/zipball/4553b2a1f6c76f0ac7f3bc0de4c0cfa06a097d19
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/driesvints/blade-icons/zipball/7b743f27476acb2ed04cb518213d78abe096e814
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/laravel/framework/zipball/86693ffa1ba32f56f8c44e31416c6665095a62c5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/nette/utils/zipball/fa1f0b8261ed150447979eb22e373b7b7ad5a8e0
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/pestphp/pest-plugin/zipball/9d4b93d7f73d3f9c3189bb22c220fef271cdf568
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/sebastianbergmann/environment/zipball/24a711b5c916efc6d6e62aa65aa2ec98fef77f68
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/clock/zipball/9169f24776edde469914c1e7a1442a50f7a4e110
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/console/zipball/6d9f0fbf2ec2e9785880096e3abd0ca0c88b506e
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/event-dispatcher/zipball/9dddcddff1ef974ad87b3708e4b442dc38b2261d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/finder/zipball/340b9ed7320570f319028a2cbec46d40535e94bd
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/http-foundation/zipball/bd1af1e425811d6f077db240c3a588bdb405cd27
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/http-kernel/zipball/f6e6f0a5fa8763f75a504b930163785fb6dd055f
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/mailer/zipball/a3d9eea8cfa467ece41f0f54ba28185d74bd53fd
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/mime/zipball/bdb02729471be5d047a3ac4a69068748f1a6be7a
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-iconv/zipball/5f3b930437ae03ae5dff61269024d8ea1b3774aa
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/process/zipball/7ca8dc2d0dcf4882658313aba8be5d9fd01026c8
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/routing/zipball/4720254cb2644a0b876233d258a32bf017330db7
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/string/zipball/d50e862cb0a0e0886f73ca1f31b865efbb795003
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/translation/zipball/2d01ca0da3f092f91eeedb46f24aa30d2fca8f68
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/uid/zipball/2498e9f81b7baa206f44de583f2f48350b90142c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/var-dumper/zipball/41fd6c4ae28c38b294b42af6db61446594a0dece
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/flysystem-local/zipball/ab4f9d0d672f601b102936aa728801dd1a11968d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/flysystem/zipball/5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d
    • Triggering command: /usr/bin/php8.3 /usr/bin/php8.3 -n -c /tmp/Dz3op1 /usr/bin/composer install --no-interaction (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Possibility to display custom fields on relation table</issue_title>
<issue_description>🚀 Feature Request: Support for displaying related model custom fields in relation managers

Hello 👋

I’m using Relaticle Custom Fields with Filament, and I have a scenario where I’d like to display custom fields of a related model inside a relation manager table.

Example use case

I have two models:

Registration — belongs to a Member

Member — has custom fields defined with Relaticle

In my RegistrationRelationManager, I’d like to display the custom fields of the related Member directly in the table.

Something like:

CustomFields::table()
    ->forModel(Member::class)
    ->forRelation('member')
    ->columns();

Currently, I’ve written a custom helper to make this work — it displays the fields correctly — but it also requires custom logic to make filters and sorting work, since the CustomFields columns expect the main record to be a HasCustomFields model.

💡 Feature idea

Would it be possible to extend the forModel() builder (or add a new method, e.g. forRelation('member')) so that the generated columns automatically:

Resolve the related model ($record->member) internally

Handle filters/sorting on related custom fields out of the box

This would make relation-based custom field displays much cleaner and more consistent with the rest of the API.

❤️ Thank you

Thanks for the great work on this package — it’s super powerful already!
This feature would make it even easier to integrate custom fields in more complex Filament setups.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 5 commits December 11, 2025 16:25
…ields

Co-authored-by: ManukMinasyan <2556185+ManukMinasyan@users.noreply.github.com>
…esting

Co-authored-by: ManukMinasyan <2556185+ManukMinasyan@users.noreply.github.com>
Co-authored-by: ManukMinasyan <2556185+ManukMinasyan@users.noreply.github.com>
Co-authored-by: ManukMinasyan <2556185+ManukMinasyan@users.noreply.github.com>
Co-authored-by: ManukMinasyan <2556185+ManukMinasyan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for displaying custom fields in relation managers Add forRelation() to display related model custom fields in tables Dec 11, 2025
Copilot AI requested a review from ManukMinasyan December 11, 2025 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Possibility to display custom fields on relation table

2 participants