ITPub博客

首页 > IT职业 > IT图书 > 无涯教程: Laravel 8 - 模型事件

无涯教程: Laravel 8 - 模型事件

IT图书 作者:nighteagle 时间:2021-09-09 08:52:11 0 删除 编辑

在这里,我将向您展示laravel 8模型事件。Laravel提供eloquent模型事件列表,每个模型事件都有自己的函数。

  • creating - 插入前调用。

  • creating - 插入后调用。

  • updating - 更新前调用。

  • updated - 更新后调用。

  • deleting - 删除前调用。

  • deleted - 删除后调用。

  • retriveved - 从数据库查询数据时调用。

  • saving - 创建或更新前调用。

  • saved - 创建或更新后调用。

  • restoring - 在恢复前调用。

  • restored - 恢复后调用。

  • replicating - 调用重复数据。

创建Product Model

在这里,我们将使用事件创建Product模型。所以让我们创建并写入以下代码:
app/Models/Product.php

slug = Str::slug($item->name);
 });
 
 /** 
         * Write code on Method
         *
         * @return response()
         */
 static::created(function($item) { 
 /*
                Write Logic Here
            */ 
 
 Log::info('Created event call: '.$item);
 });
 
 /**
         * Write code on Method
         *
         * @return response()
         */
 static::updating(function($item) { 
 Log::info('Updating event call: '.$item); 
 
            $item->slug = Str::slug($item->name);
 });
 
 /**
         * Write code on Method
         *
         * @return response()
         */
 static::updated(function($item) { 
 /*
                Write Logic Here
            */ 
 
 Log::info('Updated event call: '.$item);
 });
 
 /**
         * Write code on Method
         *
         * @return response()
         */
 static::deleted(function($item) { 
 Log::info('Deleted event call: '.$item); 
 });
 }
}


创建记录:Creating和Created事件
app/Http/Controllers/ProductController.php

 'silver',
 'detail' => 'This is silver'
 ]);
 
        dd('done');
 }
}

输出日志文件:

[2020-10-20 14:37:26] local.INFO: Creating event call: {"name":"silver","detail":"This is silver"} 
[2020-10-20 14:37:26] local.INFO: Created event call: {"name":"silver","detail":"This is silver","slug":"silver","updated_at":"2020-10-20T14:37:26.000000Z","created_at":"2020-10-20T14:37:26.000000Z","id":5}

更新记录:Updating和Updated事件
app/Http/Controllers/ProductController.php

update([
 'name' => 'silver updated',
 'detail' => 'This is silver'
 ]);
 
        dd('done');
 }
}

输出日志文件:

[2020-10-20 14:39:04] local.INFO: Updating event call: {"id":5,"name":"silver updated","detail":"This is silver","created_at":"2020-10-20T14:37:26.000000Z","updated_at":"2020-10-20T14:37:26.000000Z","slug":"silver"} 
[2020-10-20 14:39:04] local.INFO: Updated event call: {"id":5,"name":"silver updated","detail":"This is silver","created_at":"2020-10-20T14:37:26.000000Z","updated_at":"2020-10-20T14:39:04.000000Z","slug":"silver-updated"}

删除记录:Deleted事件
app/Http/Controllers/ProductController.php

delete();
 
        dd('done');
 }
}

输出日志文件:

[2020-10-21 03:14:45] local.INFO: Deleted event call: {"id":5,"name":"silver updated","detail":"This is silver","created_at":"2020-10-20T14:37:26.000000Z","updated_at":"2020-10-20T14:39:04.000000Z","slug":"silver-updated"}



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4363/viewspace-2797431/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-12

  • 博文量
    97
  • 访问量
    740