diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index 495d00a4eff1..40ef104174e7 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -234,7 +234,9 @@ public function findOrNew($id, $columns = ['*']) */ public function firstOrNew(array $attributes) { - if (! is_null($instance = $this->where($attributes)->first())) { + $mutatedAttributes = $this->model->newInstance($attributes)->getAttributes(); + + if (! is_null($instance = $this->where($mutatedAttributes)->first())) { return $instance; } @@ -250,7 +252,9 @@ public function firstOrNew(array $attributes) */ public function firstOrCreate(array $attributes, array $values = []) { - if (! is_null($instance = $this->where($attributes)->first())) { + $mutatedAttributes = $this->model->newInstance($attributes)->getAttributes(); + + if (! is_null($instance = $this->where($mutatedAttributes)->first())) { return $instance; }