Skip to content

Commit e6de900

Browse files
Merge 5.4 into 5.x (#3434)
2 parents 2724144 + 60f48e5 commit e6de900

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/Eloquent/Builder.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,10 @@ protected function addUpdatedAtColumn(array $values)
325325
}
326326

327327
$column = $this->model->getUpdatedAtColumn();
328+
if (isset($values['$set'][$column])) {
329+
return $values;
330+
}
331+
328332
$values = array_replace(
329333
[$column => $this->model->freshTimestampString()],
330334
$values,

tests/ModelTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,21 @@ public function testUpdate(): void
169169
$this->assertEquals('Hans Thomas', $check->fullname);
170170
}
171171

172+
public function testUpdateTroughSetUpdatedAt(): void
173+
{
174+
$user = new User();
175+
$user->name = 'John Doe';
176+
$user->title = 'admin';
177+
$user->age = 35;
178+
$user->save();
179+
180+
$updatedAt = Carbon::yesterday();
181+
User::query()->update(['$set' => ['updated_at' => new UTCDateTime($updatedAt)]]);
182+
183+
$user->refresh();
184+
$this->assertEquals($updatedAt, $user->updated_at);
185+
}
186+
172187
public function testUpsert()
173188
{
174189
$result = User::upsert([

0 commit comments

Comments
 (0)