跳到主要内容
版本:2.x

展示关联中的数据

你可以使用“点语法”,在关联中访问字段。关联名在前,然后是点号,最后是要展示的字段名:

use Filament\Tables\Columns\TextColumn;

TextColumn::make('author.name')

计数关联

如果你想要在一个表格字段中计算关联记录的数量,你可以使用 count() 方法:

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()sum() 多个方法来聚合关联字段。比如,你想要在一个字段中显示该字段下所有相关记录的平均值,你可以使用 avg() 方法:

use Filament\Tables\Columns\TextColumn;

TextColumn::make('users_avg_age')->avg('users', 'age')

本例中,users 是模型关联的名字,age 是需要被平均的字段名。表格字段名必须是 users_avg_age,因为这是 Laravel 使用的用于存储这类结果的命名规范。