diff --git a/src/Illuminate/Database/Eloquent/Builder.php b/src/Illuminate/Database/Eloquent/Builder.php index 306c42761618..b31cda531a64 100755 --- a/src/Illuminate/Database/Eloquent/Builder.php +++ b/src/Illuminate/Database/Eloquent/Builder.php @@ -559,9 +559,15 @@ protected function addUpdatedAtColumn(array $values) return $values; } - $column = $this->model->getUpdatedAtColumn(); + if (count($this->getQuery()->joins) > 0) { + $column = $this->model->getQualifiedUpdatedAtColumn(); + } else { + $column = $this->model->getUpdatedAtColumn(); + } - return Arr::add($values, $column, $this->model->freshTimestampString()); + return array_merge($values, [ + $column => $this->model->freshTimestampString(), + ]); } /** diff --git a/src/Illuminate/Database/Eloquent/Model.php b/src/Illuminate/Database/Eloquent/Model.php index 55bb2916fa70..69b82bac7fe2 100755 --- a/src/Illuminate/Database/Eloquent/Model.php +++ b/src/Illuminate/Database/Eloquent/Model.php @@ -1786,6 +1786,16 @@ public function getUpdatedAtColumn() return static::UPDATED_AT; } + /** + * Get the fully qualified "updated at" column. + * + * @return string + */ + public function getQualifiedUpdatedAtColumn() + { + return $this->getTable().'.'.$this->getUpdatedAtColumn(); + } + /** * Get a fresh timestamp for the model. *