From 50ab4fdb85db428a1c16cfc5b7d124834a71dd76 Mon Sep 17 00:00:00 2001 From: Tobias Oitzinger Date: Wed, 4 Dec 2024 14:37:20 +0100 Subject: [PATCH 1/2] fix(laravel): fix foregin keys (relations) beeing in attributes Closes: #6842 Signed-off-by: Tobias Oitzinger --- src/Laravel/Eloquent/Metadata/ModelMetadata.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Laravel/Eloquent/Metadata/ModelMetadata.php b/src/Laravel/Eloquent/Metadata/ModelMetadata.php index 3d851681c03..106552ec721 100644 --- a/src/Laravel/Eloquent/Metadata/ModelMetadata.php +++ b/src/Laravel/Eloquent/Metadata/ModelMetadata.php @@ -67,9 +67,15 @@ public function getAttributes(Model $model): Collection $table = $model->getTable(); $columns = $schema->getColumns($table); $indexes = $schema->getIndexes($table); + $relations = $this->getRelations($model); return collect($columns) - ->map(fn ($column) => [ + ->reject( + fn($column) => $relations->contains( + fn($relation) => $relation['foreign_key'] === $column['name'] + ) + ) + ->map(fn($column) => [ 'name' => $column['name'], 'type' => $column['type'], 'increments' => $column['auto_increment'], From 2cefcd6067e4398bcc3b92c4c5daf41238fd7a32 Mon Sep 17 00:00:00 2001 From: soyuka Date: Fri, 6 Dec 2024 11:57:43 +0100 Subject: [PATCH 2/2] cs fixes --- src/Laravel/Eloquent/Metadata/ModelMetadata.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Laravel/Eloquent/Metadata/ModelMetadata.php b/src/Laravel/Eloquent/Metadata/ModelMetadata.php index 106552ec721..77254e1681d 100644 --- a/src/Laravel/Eloquent/Metadata/ModelMetadata.php +++ b/src/Laravel/Eloquent/Metadata/ModelMetadata.php @@ -71,11 +71,11 @@ public function getAttributes(Model $model): Collection return collect($columns) ->reject( - fn($column) => $relations->contains( - fn($relation) => $relation['foreign_key'] === $column['name'] + fn ($column) => $relations->contains( + fn ($relation) => $relation['foreign_key'] === $column['name'] ) ) - ->map(fn($column) => [ + ->map(fn ($column) => [ 'name' => $column['name'], 'type' => $column['type'], 'increments' => $column['auto_increment'],