2016-07-31 59 views
4

我需要生成一个函数来调用save()或update()之前或之后,但我不知道该怎么做。 我想我需要从save()更新()回调,但我不知道该怎么做。 感谢Laravel:如何创建一个函数保存后更新

+0

检查此链接https://stackoverflow.com/questions/13518674/laravel- model-callbacks-save-before-save-etc –

回答

4

使用此命令

php artisan make:provider ProviderClassName 

然后定义模型的回调在开机功能

Model::created(function($model){ 
    //Do you want to do 
}); 

可用回调的列表创建提供商:

Model::creating(function($model){}); 
Model::updated(function($model){}); 
Model::updating(function($model){}); 
Model::deleted(function($model){}); 
Model::deleting(function($model){}); 
Model::saving(function($model){}); 
Model::saved(function($model){}); 
+0

还保存()和保存() –

+0

无需完整的新ServiceProvider,可以使用用于应用程序定制的AppServiceProvider。 –

13

里面你型号,你可以加一个boot()方法可以让你管理这些事件。

例如,具有user.php的模型:

class User extends Model 
{ 

    public static function boot() 
    { 
     parent::boot(); 

     self::creating(function($model){ 
      // ... code here 
     }); 

     self::created(function($model){ 
      // ... code here 
     }); 

     self::updating(function($model){ 
      // ... code here 
     }); 

     self::updated(function($model){ 
      // ... code here 
     }); 

     self::deleting(function($model){ 
      // ... code here 
     }); 

     self::deleted(function($model){ 
      // ... code here 
     }); 
    } 

} 

您可以查看所有可用的事件在这里:https://laravel.com/docs/5.2/eloquent#events

相关问题