From 089a2cc389492fdd850fac89d8883f17d44e558e Mon Sep 17 00:00:00 2001 From: pascalboucher Date: Thu, 10 Oct 2019 18:55:27 +0000 Subject: [PATCH 1/3] Set label relationship even when null --- src/Repositories/NodeRepository.php | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/Repositories/NodeRepository.php b/src/Repositories/NodeRepository.php index 03c840c..50495b1 100644 --- a/src/Repositories/NodeRepository.php +++ b/src/Repositories/NodeRepository.php @@ -72,22 +72,15 @@ public function all(Model $parent, ?string $type = null): Collection /** * Build a node model with label eager loaded. * - * @param object|null $node - * @return Node|null + * @param object $node + * @return Node */ - protected function buildNodeModel(?object $node): ?Node + protected function buildNodeModel(object $node): Node { - if (is_null($node)) { - return null; - } - $label = $this->hydrateLabel($node); $this->removeAttributes('label', $node); $node = $this->hydrate($node); - - if ($label) { - $node->setRelation('label', $label); - } + $node->setRelation('label', $label); return $node; } @@ -133,7 +126,9 @@ public function find(Model $parent, $nodeKey, array $columns): ?Node }); } - return $this->buildNodeModel($query->first()); + $node = $query->first(); + + return is_null($node) ? null : $this->buildNodeModel($node); } /** From db7129ce4f44872943e3eed433389583f54c64c0 Mon Sep 17 00:00:00 2001 From: pascalboucher Date: Thu, 10 Oct 2019 19:05:03 +0000 Subject: [PATCH 2/3] Unset eager loaded relationship on node when creating a new one. Fix a bug when adding a label on an existing node without label before --- src/Traits/Nodes/HasLabel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Traits/Nodes/HasLabel.php b/src/Traits/Nodes/HasLabel.php index d326053..770b035 100644 --- a/src/Traits/Nodes/HasLabel.php +++ b/src/Traits/Nodes/HasLabel.php @@ -15,6 +15,10 @@ trait HasLabel */ public function addLabel(string $text): LabelerContract { + if ($this->relationLoaded('label')) { + $this->unsetRelation('label'); + } + $label = $this->nodeRepositoryProvider->getInstanceOf($this, 'label'); $label->withText($text)->save(); From 46f54e1755c4608345d91caf75bbc2d4d69c83a1 Mon Sep 17 00:00:00 2001 From: pascalboucher Date: Thu, 10 Oct 2019 19:08:03 +0000 Subject: [PATCH 3/3] Updating composer badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b944165..95c61af 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Latest Version on Packagist](https://img.shields.io/badge/packagist-v1.1.3-blue)](https://packagist.org/packages/coopbelvedere/laravel-form-maker) +[![Latest Version on Packagist](https://img.shields.io/badge/packagist-v1.1.4-blue)](https://packagist.org/packages/coopbelvedere/laravel-form-maker) [![Build Status](https://travis-ci.org/CoopBelvedere/laravel-form-maker.svg?branch=master)](https://travis-ci.org/CoopBelvedere/laravel-form-maker) [![StyleCI](https://github.styleci.io/repos/156127313/shield?branch=master)](https://github.styleci.io/repos/156127313)