当前位置: 代码迷 >> 综合 >> laravel8 模型观察类 最后补上如何在观察类里给密码加密
  详细解决方案

laravel8 模型观察类 最后补上如何在观察类里给密码加密

热度:93   发布时间:2023-11-29 18:03:39.0

第一步 创建一个观察类

php artisan make:observer xxxobserver -m Models/模型(就是这个类要观察哪一个模型)

观察类里有几个方法 分别是我们增删改查时自动调用

常用的几个方法:

分别是

执行添加前/执行添加后

的动作 也就是一前一后

先观察完再进行添加 以及 先添加完再进行观察

creating/created

另一个就是修改前以及修改后 与上面同理

updating/updated

最后就是给我们的 模型注册观察类(也可以叫绑定)

在此注意 这个方法名必须为 boot 不可改动!!!!

public static function boot(){parent::boot();self:observe(观察类::class);}

观察类就此成功 每次执行增删改查之前就会自动调用相对应的方法 也就是添加时自动调用添加的观察类方法 修改时自动调用修改的观察类方法

补充 观察类给密码加密 首先需要通过依赖注入去获取添加的数据且必须为添加前的 观察方法

也就是本篇 上面说的 creating 方法(动作之前的方法需要手动创建 也就是 添加之前 修改之前的动作)

中间的为需要依赖注入的模型层

use App\Jobs\UserJob;
use App\Models\UserPort;//依赖注入的模型 
use Illuminate\Support\Facades\log;
 //添加之前的动作public function creating(UserPort $userPort){$userPort->password = bcrypt(request()->get('password'));}

本篇文章到此结束,感谢观看,如有不足欢迎指出!