From 5a4cccd68e34657951772ec88e5a7c59e8e4bd43 Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Thu, 2 Dec 2021 17:43:18 -0800 Subject: [PATCH 1/2] Fix bug where columns would be guarded while filling Eloquent models during unit tests --- .../Database/Eloquent/Concerns/GuardsAttributes.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php b/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php index 60b510cede60..55538ad237c1 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php +++ b/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php @@ -217,9 +217,15 @@ public function isGuarded($key) protected function isGuardableColumn($key) { if (! isset(static::$guardableColumns[get_class($this)])) { - static::$guardableColumns[get_class($this)] = $this->getConnection() + $columns = $this->getConnection() ->getSchemaBuilder() ->getColumnListing($this->getTable()); + + if (empty($columns)) { + // Column list is unavailable, do not cache it + return true; + } + static::$guardableColumns[get_class($this)] = $columns; } return in_array($key, static::$guardableColumns[get_class($this)]); From 52d1873b2e91f094068a6aa1e9c298c72238b418 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Fri, 3 Dec 2021 09:35:06 -0600 Subject: [PATCH 2/2] Update GuardsAttributes.php --- src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php b/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php index 55538ad237c1..3e85fb955e61 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php +++ b/src/Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php @@ -222,7 +222,6 @@ protected function isGuardableColumn($key) ->getColumnListing($this->getTable()); if (empty($columns)) { - // Column list is unavailable, do not cache it return true; } static::$guardableColumns[get_class($this)] = $columns;