diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index fd9919ef05ef..b053f3819e5f 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -822,10 +822,15 @@ protected function addUpdatedAtColumn(array $values) return $values; } - return Arr::add( - $values, $this->model->getUpdatedAtColumn(), - $this->model->freshTimestampString() - ); + if (count($this->getQuery()->joins) > 0) { + $column = $this->model->getQualifiedUpdatedAtColumn(); + } else { + $column = $this->model->getUpdatedAtColumn(); + } + + return array_merge($values, [ + $column => $this->model->freshTimestampString(), + ]); } /** diff --git a/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php b/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php index ce3e0801dee6..fb355c5bf217 100644 --- a/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php +++ b/src/Illuminate/Database/Eloquent/Concerns/HasTimestamps.php @@ -122,4 +122,14 @@ public function getUpdatedAtColumn() { return static::UPDATED_AT; } + + /** + * Get the fully qualified "updated at" column. + * + * @return string + */ + public function getQualifiedUpdatedAtColumn() + { + return $this->getTable().'.'.$this->getUpdatedAtColumn(); + } }