--- title: Column relationships --- ## Displaying data from relationships You may use "dot syntax" to access columns within relationships. The name of the relationship comes first, followed by a period, followed by the name of the column to display: ```php use Filament\Tables\Columns\TextColumn; TextColumn::make('author.name') ``` ## Counting relationships If you wish to count the number of related records in a column, you may use the `counts()` method: ```php use Filament\Tables\Columns\TextColumn; TextColumn::make('users_count')->counts('users') ``` In this example, `users` is the name of the relationship to count from. The name of the column must be `users_count`, as this is the convention that [Laravel uses](https://laravel.com/docs/eloquent-relationships#counting-related-models) for storing the result. ## Determining relationship existence If you simply wish to indicate whether related records exist in a column, you may use the `exists()` method: ```php use Filament\Tables\Columns\TextColumn; TextColumn::make('users_exists')->exists('users') ``` In this example, `users` is the name of the relationship to check for existence. The name of the column must be `users_exists`, as this is the convention that [Laravel uses](https://laravel.com/docs/eloquent-relationships#other-aggregate-functions) for storing the result. ## Aggregating relationships Filament provides several methods for aggregating a relationship field, including `avg()`, `max()`, `min()` and `sum()`. For instance, if you wish to show the average of a field on all related records in a column, you may use the `avg()` method: ```php use Filament\Tables\Columns\TextColumn; TextColumn::make('users_avg_age')->avg('users', 'age') ``` In this example, `users` is the name of the relationship, while `age` is the field that is being averaged. The name of the column must be `users_avg_age`, as this is the convention that [Laravel uses](https://laravel.com/docs/eloquent-relationships#other-aggregate-functions) for storing the result.