From 284248639286d3c567f4a252cc445a98fc9f8f01 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Tue, 5 Dec 2023 00:15:36 +0000 Subject: [PATCH] fix: Recursively attach relationship --- packages/tables/src/Actions/AssociateAction.php | 5 ++++- packages/tables/src/Actions/AttachAction.php | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/tables/src/Actions/AssociateAction.php b/packages/tables/src/Actions/AssociateAction.php index 27d2ca5b45..0b4fe985b3 100644 --- a/packages/tables/src/Actions/AssociateAction.php +++ b/packages/tables/src/Actions/AssociateAction.php @@ -238,7 +238,10 @@ class AssociateAction extends Action } return $query->where( - $relationship->getParent()->getQualifiedKeyName(), + // https://github.com/filamentphp/filament/issues/8067 + $relationship->getParent()->getTable() === $relationship->getRelated()->getTable() ? + $relationship->getParent()->getKeyName() : + $relationship->getParent()->getQualifiedKeyName(), $relationship->getParent()->getKey(), ); }); diff --git a/packages/tables/src/Actions/AttachAction.php b/packages/tables/src/Actions/AttachAction.php index 85b619b55e..222cd91449 100644 --- a/packages/tables/src/Actions/AttachAction.php +++ b/packages/tables/src/Actions/AttachAction.php @@ -233,8 +233,11 @@ class AttachAction extends Action fn (Builder $query): Builder => $query->whereDoesntHave( $table->getInverseRelationship(), fn (Builder $query): Builder => $query->where( - $table->getRelationship()->getParent()->getQualifiedKeyName(), - $table->getRelationship()->getParent()->getKey(), + // https://github.com/filamentphp/filament/issues/8067 + $relationship->getParent()->getTable() === $relationship->getRelated()->getTable() ? + $relationship->getParent()->getKeyName() : + $relationship->getParent()->getQualifiedKeyName(), + $relationship->getParent()->getKey(), ), ), );