列关联
从关联中显示数据
你可以使用"点语法"访问关联中的字段。关联名在前,紧跟着点号,之后是要显示的字段名:
use Filament\Tables\Columns\TextColumn;
TextColumn::make('author.name')
关联计数
你可以使用 counts()
方法,计算该列中关联记录的数量:
use Filament\Tables\Columns\TextColumn;
TextColumn::make('users_count')->counts('users')
本例中,users
是要计数的关联名。列名必须是 users_count
,因为这是 Laravel 用来存储结果的命名规范
判断关联是否存在
使用 exists()
方法,你可以说明列中的关联记录是否存在:
use Filament\Tables\Columns\TextColumn;
TextColumn::make('users_exists')->exists('users')
本例中,users
是要检查是否存在的关联名。列名必须是 users_exists
,因为这是 Laravel 用来存储结果的命名规范
聚合关联
Filament 提供了几种用于聚合关联的字段,包括 avg()
、max()
、min()
和 min()
。比如,如果你想在列中显示所有关联记录中某个字段的平均值,你可以使用 avg()
方法:
use Filament\Tables\Columns\TextColumn;
TextColumn::make('users_avg_age')->avg('users', 'age')
本例中,users
是关联名,age
是要平均的字段。列名必须是 users_avg_age
,因为这是 Laravel 用来存储结果的命名规范