Php 如何获得laravel 5.1中更新字段的总数?
我需要保存对模型及其相关模型执行更新操作后更新的字段数 假设我有一个用户配置文件编辑表单。在该表单上,我允许用户更新其firtname、lastname和密码 用户模型有电子邮件和密码字段,其他字段也很少 UserProfile模型也有firstname、lastname和其他字段 用户模型与具有一个关联的UserProfiles模型相关联 有很多,也有很多联系 如果用户更新了名字和密码,我需要向用户显示“更改的字段数:2” 是否有任何Laravel 5方式或套餐可以这样做Php 如何获得laravel 5.1中更新字段的总数?,php,laravel-5.1,Php,Laravel 5.1,我需要保存对模型及其相关模型执行更新操作后更新的字段数 假设我有一个用户配置文件编辑表单。在该表单上,我允许用户更新其firtname、lastname和密码 用户模型有电子邮件和密码字段,其他字段也很少 UserProfile模型也有firstname、lastname和其他字段 用户模型与具有一个关联的UserProfiles模型相关联 有很多,也有很多联系 如果用户更新了名字和密码,我需要向用户显示“更改的字段数:2” 是否有任何Laravel 5方式或套餐可以这样做 谢谢。您可以使用雄辩
谢谢。您可以使用雄辩模型的getDirty()方法,如下所示:
$data = ['email' => 'email@example.com', 'name' => 'John Doe'];
$user = User::find(1);
$user->fill( $data );
if ( !$user->isDirty() ) {
//NO DATA CHANGED
}
$numberOfChanges = count( $user->getDirty() );
getDirty()将返回一个模型更改属性的数组,因此当您计算数组的大小时,您将得到更改字段的确切数量
请注意,我只使用了用户模型,例如,$data
可能来自请求