return $table
->query(Persona::query())
->modifyQueryUsing(fn(Builder $query) =>
$query
->where('am_notes','!=','')
// Jacks up the links
->join('users', 'users.id', '=', 'personas.client_id')
->where(function(Builder $query) use ($client_id){
if ($client_id) {
$query->where('client_id', $client_id);
}
})
->where(function(Builder $query) use ($csm_id, $am_id){
if ($csm_id) {
$query->where('users.customer_support_manager_id', $csm_id);
}
if ($am_id) {
$query->where('users.account_manager_id', $am_id);
}
})
)
->columns([
Tables\Columns\TextColumn::make('client.name')->sortable()
//changes with join
->url(fn ($record): string => "/clients/$record->client_id/edit"),
Tables\Columns\TextColumn::make('li_email')
//changes with join
->url(fn (Persona $record): string => "/personas/$record->id/edit")
->openUrlInNewTab(),
Tables\Columns\TextColumn::make('am_notes')
->label('Instructions'),
]);
return $table
->query(Persona::query())
->modifyQueryUsing(fn(Builder $query) =>
$query
->where('am_notes','!=','')
// Jacks up the links
->join('users', 'users.id', '=', 'personas.client_id')
->where(function(Builder $query) use ($client_id){
if ($client_id) {
$query->where('client_id', $client_id);
}
})
->where(function(Builder $query) use ($csm_id, $am_id){
if ($csm_id) {
$query->where('users.customer_support_manager_id', $csm_id);
}
if ($am_id) {
$query->where('users.account_manager_id', $am_id);
}
})
)
->columns([
Tables\Columns\TextColumn::make('client.name')->sortable()
//changes with join
->url(fn ($record): string => "/clients/$record->client_id/edit"),
Tables\Columns\TextColumn::make('li_email')
//changes with join
->url(fn (Persona $record): string => "/personas/$record->id/edit")
->openUrlInNewTab(),
Tables\Columns\TextColumn::make('am_notes')
->label('Instructions'),
]);