laravel 判断字段是否可以修改


laravel 判断字段是否可以修改

可以使用isDirty()方法

具体使用

public function creating(User $user)
{
  // 判断用户是否修改了密码,如果修改了密码将密码进行一下加密
  if ($user->isDirty('password')) {
    $user->password = User::makePassword($user->password);
  }
}

isDirty()可以不穿参数,如果不穿参数会判断此次是否对模型中的数据有所修改

$change = $user->isDirty() ? $user->getDirty() : false;
if ($change) {
  foreach ($change as $item) {
    // 处理相应的逻辑
  }
}

需要在观察着模式下使用,或者在监听事件中使用