using eloquent whereHas
$getCustomerNameFromQuotation = Quotation::whereHas('customer', function($query){
$query->where('customers.name', 'LIKE', '%ali%');
})->get();
public static function table(Table $table): Table
{
return $table
->columns([])
->filters([
Filter::make('numbering_f')
->form([
TextInput::make('numbering')
->label('No' )
->prefix('#Q'),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['numbering'],
fn (Builder $query, $data): Builder => $query->where('numbering', 'LIKE', '%' . $data . '%'),
);
})
->indicateUsing(function (array $data): ?string {
if (! $data['numbering']) {
return null;
}
return 'No %'.$data['numbering'] . '%';
}),
Filter::make('customer_name_f')
->form([
TextInput::make('customer_name')
->label('Customer Name' ),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['customer_name'],
fn (Builder $query, $data): Builder => $query->whereHas('customer', function (Builder $query) use ($data) {
$query->where('customers.name', 'LIKE', '%' . $data . '%');
}),
);
})
->indicateUsing(function (array $data): ?string {
if (! $data['customer_name']) {
return null;
}
return 'Customer Name %'.$data['customer_name'] . '%';
}),
], layout: FiltersLayout::AboveContentCollapsible)
->actions([])
->bulkActions([]);
}
Leave a Reply