Duplicate Queries in Repeater with Relationship
How can I prevent duplicate queries when adding a select form inside a repeater?
P.S: Order model with a relationship
items()
as a HasMany
,![No description](https://answer-overflow-discord-attachments.s3.us-east-1.amazonaws.com/1257255291507048538/image.png)
3 Replies
Form Implementation
--------------------------
If I added relationship, it does not work, I don't know why
Repeater::make('order-items')
->label('')
->addActionLabel('Add Problematic Item')
->reorderable(false)
->columns(['md' => 4])
->schema([
Select::make('items')
->label('Order Item')
->options(function (Order $record) {
return $record->items()->pluck('sku', 'id');
})
->required(),
TextInput::make('quantity')
->required(),
Select::make('reason')
->options(OrderItemUnavailableReason::toOptionsArray())
->required(),
TextInput::make('note'),
]);
Repeater::make('order-items')
->label('')
->addActionLabel('Add Problematic Item')
->reorderable(false)
->columns(['md' => 4])
->schema([
Select::make('items')
->label('Order Item')
->options(function (Order $record) {
return $record->items()->pluck('sku', 'id');
})
->required(),
TextInput::make('quantity')
->required(),
Select::make('reason')
->options(OrderItemUnavailableReason::toOptionsArray())
->required(),
TextInput::make('note'),
]);
Repeater::make('items')
->relationship()
->label('')
->addActionLabel('Add Problematic Item')
->reorderable(false)
->columns(['md' => 4])
->schema([
Select::make('items')
->relationship('items', 'sku')
->label('Order Item')
->required(),
TextInput::make('quantity')
->required(),
Select::make('reason')
->options(OrderItemUnavailableReason::toOptionsArray())
->required(),
TextInput::make('note'),
])
]
Repeater::make('items')
->relationship()
->label('')
->addActionLabel('Add Problematic Item')
->reorderable(false)
->columns(['md' => 4])
->schema([
Select::make('items')
->relationship('items', 'sku')
->label('Order Item')
->required(),
TextInput::make('quantity')
->required(),
Select::make('reason')
->options(OrderItemUnavailableReason::toOptionsArray())
->required(),
TextInput::make('note'),
])
]
![No description](https://answer-overflow-discord-attachments.s3.us-east-1.amazonaws.com/1257256784192868393/image.png)
![No description](https://answer-overflow-discord-attachments.s3.us-east-1.amazonaws.com/1257257371609337856/image.png)