return $table
->columns([
Tables\Columns\TextColumn::make('user.name')
->label('Reader')
->searchable(),
Tables\Columns\TextColumn::make('book.title')
->label('Book')
->searchable(),
Tables\Columns\TextColumn::make('book.author.name')
->label('Author')
->searchable(),
Tables\Columns\TextColumn::make('date')
->date('M Y')
->searchable(),
Tables\Columns\TextColumn::make('pages')
->summarize(Sum::make('pages')),
])
->defaultGroup(
Group::make('date')
->getTitleFromRecordUsing(fn(Reading $record): string => $record->date->format('M Y'))
->orderQueryUsing(fn(Builder $query, string $direction) => $query->orderBy('date', 'desc'))
->collapsible(),
)
return $table
->columns([
Tables\Columns\TextColumn::make('user.name')
->label('Reader')
->searchable(),
Tables\Columns\TextColumn::make('book.title')
->label('Book')
->searchable(),
Tables\Columns\TextColumn::make('book.author.name')
->label('Author')
->searchable(),
Tables\Columns\TextColumn::make('date')
->date('M Y')
->searchable(),
Tables\Columns\TextColumn::make('pages')
->summarize(Sum::make('pages')),
])
->defaultGroup(
Group::make('date')
->getTitleFromRecordUsing(fn(Reading $record): string => $record->date->format('M Y'))
->orderQueryUsing(fn(Builder $query, string $direction) => $query->orderBy('date', 'desc'))
->collapsible(),
)