Merge pull request #1169 from mcintyre94/minor/add-touch-eloquent
Added new touch function to eloquent, updates timestamps and immediately saves
This commit is contained in:
commit
666db87137
|
@ -452,6 +452,16 @@ public function timestamp()
|
||||||
if ( ! $this->exists) $this->created_at = $this->updated_at;
|
if ( ! $this->exists) $this->created_at = $this->updated_at;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*Updates the timestamp on the model and immediately saves it.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function touch(){
|
||||||
|
$this->timestamp();
|
||||||
|
$this->save();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a new fluent query builder instance for the model.
|
* Get a new fluent query builder instance for the model.
|
||||||
*
|
*
|
||||||
|
|
|
@ -132,6 +132,18 @@ ## Inserting & Updating Models
|
||||||
|
|
||||||
Next, add **created_at** and **updated_at** date columns to your table. Now, whenever you save the model, the creation and update timestamps will be set automatically. You're welcome.
|
Next, add **created_at** and **updated_at** date columns to your table. Now, whenever you save the model, the creation and update timestamps will be set automatically. You're welcome.
|
||||||
|
|
||||||
|
In some cases it may be useful to update the **updated_at** date column without actually modifying any data within the model. Simply use the **touch** method, which will also automatically save the changes immediately:
|
||||||
|
|
||||||
|
$comment = Comment::find(1);
|
||||||
|
$comment->touch();
|
||||||
|
|
||||||
|
You can also use the **timestamp** function to update the **updated_at** date column without saving the model immediately. Note that if you are actually modifying the model's data this is handled behind the scenes:
|
||||||
|
|
||||||
|
$comment = Comment::find(1);
|
||||||
|
$comment->timestamp();
|
||||||
|
//do something else here, but not modifying the $comment model data
|
||||||
|
$comment->save();
|
||||||
|
|
||||||
> **Note:** You can change the default timezone of your application in the **application/config/application.php** file.
|
> **Note:** You can change the default timezone of your application in the **application/config/application.php** file.
|
||||||
|
|
||||||
<a name="relationships"></a>
|
<a name="relationships"></a>
|
||||||
|
|
Loading…
Reference in New Issue