sách gpt4 ăn đã đi

php - Laravel 事件 : updating vs updated?

In lại 作者:搜寻专家 更新时间:2023-10-31 20:58:47 32 4
mua khóa gpt4 giày nike

eloquent model eventsupdatingupdated 之间有什么区别? ?

我的猜测是 updating 在模型更新之前触发,而 updated 在模型更新之后触发。这对我来说意味着 updating 应该总是在我更新模型时触发——即使实际上没有值发生变化。但是,这两个事件似乎仅在事件实际更改了数据库中的值时才会触发。那有什么区别呢?

câu trả lời hay nhất

在实际调用更新之前确定是否要更新模型。更新事件的目的是在写入数据库之前执行任何任务(并可选择中止更新)。这是有道理的,因为您不希望在更新不会发生时触发声称更新即将发生的事件。

然而,在更新或插入发生之前触发的事件始终是 saving 事件,这听起来正是您所需要的。如果你想要一个“预更新”事件然后监听 saving 事件并检查 $model->exists (否则保存可能在 inserting 之前 事件)

相关代码在https://github.com/laravel/framework/blob/edf4bb4e21107c124cd601616ef2b61aaf1c306e/src/Illuminate/Database/Eloquent/Model.php#L544

 if ($this->fireModelEvent('saving') === false) {
trả về false;
}
if ($this->exists) {
$saved = $this->isDirty() ?
$this->performUpdate($query) : true;
} /* else insert */

并且 updatingupdated 事件的调用发生在 performUpdate

https://github.com/laravel/framework/blob/edf4bb4e21107c124cd601616ef2b61aaf1c306e/src/Illuminate/Database/Eloquent/Model.php#L609

关于php - Laravel 事件 : updating vs updated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48719771/

32 4 0
Đề xuất bài viết: php - Laravel Carbon 获取尾随数据错误
Đề xuất bài viết: php - Laravel 数组而不是集合
Đề xuất bài viết: php - 为什么 hasFile() 方法返回 false?
Đề xuất bài viết: php - Laravel 有很多子查询
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress