Table TextInputColumn Update Other Model
hi guys seek help, Is it possible to update data from another model? For example, in this code:
php
Copy code
class ScorecardTableWidget extends BaseWidget
{
protected $listeners = ['refreshScorecardTable' => '$refresh'];
public function table(Table $table): Table
{
$properties = ScorecardProperty::all();
$columns = [
Tables\Columns\TextColumn::make('name')
->label('Criteria'),
Tables\Columns\TextInputColumn::make('weightage'),
];
foreach ($properties as $property) {
$columns[] = Tables\Columns\TextInputColumn::make("score_{$property->id}")
->label($property->name)
->beforeStateUpdated(function ($record, $state) use ($property) {
ScorecardScore::updateOrCreate(
[
'scorecard_property_id' => $property->id,
'scorecard_criteria_id' => $record->id,
],
['score' => $state]
);
$this->dispatch('refreshScorecardTable');
});
}
return $table->query(ScorecardCriteria::query())
->columns($columns);
}
}
php
Copy code
class ScorecardTableWidget extends BaseWidget
{
protected $listeners = ['refreshScorecardTable' => '$refresh'];
public function table(Table $table): Table
{
$properties = ScorecardProperty::all();
$columns = [
Tables\Columns\TextColumn::make('name')
->label('Criteria'),
Tables\Columns\TextInputColumn::make('weightage'),
];
foreach ($properties as $property) {
$columns[] = Tables\Columns\TextInputColumn::make("score_{$property->id}")
->label($property->name)
->beforeStateUpdated(function ($record, $state) use ($property) {
ScorecardScore::updateOrCreate(
[
'scorecard_property_id' => $property->id,
'scorecard_criteria_id' => $record->id,
],
['score' => $state]
);
$this->dispatch('refreshScorecardTable');
});
}
return $table->query(ScorecardCriteria::query())
->columns($columns);
}
}