From 8d31dd0110bf4d4191049c3dc8f82b3eb2cd13d9 Mon Sep 17 00:00:00 2001 From: Alex Currie-Clark Date: Mon, 6 Dec 2021 15:13:45 +0000 Subject: [PATCH 1/2] add countable interface to eloquent factory sequence --- .../Database/Eloquent/Factories/Sequence.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Factories/Sequence.php b/src/Illuminate/Database/Eloquent/Factories/Sequence.php index 169cc1d196f4..d42036f8083c 100644 --- a/src/Illuminate/Database/Eloquent/Factories/Sequence.php +++ b/src/Illuminate/Database/Eloquent/Factories/Sequence.php @@ -2,7 +2,9 @@ namespace Illuminate\Database\Eloquent\Factories; -class Sequence +use Countable; + +class Sequence implements Countable { /** * The sequence of return values. @@ -48,4 +50,14 @@ public function __invoke() $this->index = $this->index + 1; }); } + + /** + * The count of the sequence items. + * + * @return int + */ + public function count() + { + return $this->count; + } } From aef030a7b2849405e05200cf01e00f11e26fd7ea Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Mon, 6 Dec 2021 09:24:04 -0600 Subject: [PATCH 2/2] Update Sequence.php --- .../Database/Eloquent/Factories/Sequence.php | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Illuminate/Database/Eloquent/Factories/Sequence.php b/src/Illuminate/Database/Eloquent/Factories/Sequence.php index d42036f8083c..ba4b0a89ea8d 100644 --- a/src/Illuminate/Database/Eloquent/Factories/Sequence.php +++ b/src/Illuminate/Database/Eloquent/Factories/Sequence.php @@ -40,24 +40,24 @@ public function __construct(...$sequence) } /** - * Get the next value in the sequence. + * Get the current count of the sequence items. * - * @return mixed + * @return int */ - public function __invoke() + public function count() { - return tap(value($this->sequence[$this->index % $this->count], $this), function () { - $this->index = $this->index + 1; - }); + return $this->count; } /** - * The count of the sequence items. + * Get the next value in the sequence. * - * @return int + * @return mixed */ - public function count() + public function __invoke() { - return $this->count; + return tap(value($this->sequence[$this->index % $this->count], $this), function () { + $this->index = $this->index + 1; + }); } }