create another
what i need help is bassilcy how to modify the search query for relationship select
i need where name is like search or where company name is like search
but am having so many probelms somehow fillament is injecting a new query
`
and when preload is on it wont use the modified query to get the results rather just does search on cleint side
select * from `card_types` where `name` like '%%' or exists (select * from `card_providers` where `card_types`.`card_provider_id` = `card_providers`.`id` and `name` like '%%')
select * from `card_types` where `name` like '%%' or exists (select * from `card_providers` where `card_types`.`card_provider_id` = `card_providers`.`id` and `name` like '%%')
Forms\Components\Select::make('card_type_id')
->label(__('inventory_batch.card_type'))
->preload()
->searchable()
->relationship('cardType', 'name', function ($query, $search) {
return $query->where('name', 'like', "%{$search}%")
->with('cardProvider')
->orWhereHas('cardProvider', function ($query) use ($search) {
$query->where('name', 'like', "%{$search}%");
});
})
->allowHtml()
->getOptionLabelFromRecordUsing(
fn(CardType $record) => view('components.card-type-select-option', [
'name' => $record->name,
'providerName' => $record->cardProvider->name,
'image' => $record->image_url,
])->render()
)
->helperText(__('inventory_batch.card_type_help'))
->required()
->live(),
Forms\Components\Select::make('card_type_id')
->label(__('inventory_batch.card_type'))
->preload()
->searchable()
->relationship('cardType', 'name', function ($query, $search) {
return $query->where('name', 'like', "%{$search}%")
->with('cardProvider')
->orWhereHas('cardProvider', function ($query) use ($search) {
$query->where('name', 'like', "%{$search}%");
});
})
->allowHtml()
->getOptionLabelFromRecordUsing(
fn(CardType $record) => view('components.card-type-select-option', [
'name' => $record->name,
'providerName' => $record->cardProvider->name,
'image' => $record->image_url,
])->render()
)
->helperText(__('inventory_batch.card_type_help'))
->required()
->live(),
0 Replies