Skip to content

Commit d8c1b13

Browse files
committed
fix: upsert not injecting poly type in older versions
1 parent 751b034 commit d8c1b13

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

config/page-builder-plugin.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22

33
return [
44
'block_model_class' => Redberry\PageBuilderPlugin\Models\PageBuilderBlock::class,
5+
6+
'polymorphic_relationship_name' => 'page_builder_blockable',
57
];

src/Components/Forms/PageBuilder.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,17 @@ public function relationship(
341341
DB::beginTransaction();
342342
$query->clone()->whereIn('id', $recordsNeedingDeletion)->delete();
343343

344-
$record->{$this->relationship}()->upsert(array_map(function ($item) {
344+
$record->{$this->relationship}()->upsert(array_map(function ($item) use($record) {
345345
$item['updated_at'] = now()->format('Y-m-d H:i:s');
346346
$item['created_at'] = (new Carbon($item['created_at'] ?? null))->format('Y-m-d H:i:s');
347347

348+
$relationshipName = config('page-builder-plugin.polymorphic_relationship_name', 'page_builder_block');
349+
348350
return [
349351
...$item,
350352
'data' => json_encode($item['data'] ?? []),
353+
"{$relationshipName}_id" => $record->id,
354+
"{$relationshipName}_type" => $record->getMorphClass(),
351355
];
352356
}, $state), uniqueBy: ['id'], update: ['data', 'order', 'updated_at']);
353357

0 commit comments

Comments
 (0)