events - 用于附加/分离的 Laravel 模型事件

标签 events laravel model

我有 3 个表,productstaxonomiesproduct_taxonomy,您可以看出第 3 个表是一个数据透视表。在 taxonomies 表中,我有一个名为 num_products 的字段,它跟踪属于该分类的产品数量。现在如何在每次产品附加到分类法或从分类法中分离时触发模型事件?我想更新模型事件中的 num_products 值。

最佳答案

Laravel 模型具有您可以 Hook 的事件。您有以下选择:

  • 创造
  • 创建
  • 更新
  • 已更新
  • 节省
  • 已保存
  • 删除
  • 已删除
  • 恢复
  • 恢复

你可以这样编码:

User::creating(function($user)
{
     if ( ! $user->isValid()) return false;
});

文档:http://laravel.com/docs/4.2/eloquent#model-events

或者您可以使用内置的模型观察者。您有以下选择:

  • 创造
  • 更新
  • 节省

你会在你的模型上写一个方法:

class UserObserver {

    public function saving($model)
    {
        //
    }

    public function saved($model)
    {
        //
    }

}

然后你可以注册然后注册观察者:

User::observe(new UserObserver);

文档:http://laravel.com/docs/4.2/eloquent#model-observers

希望对您有所帮助。

关于events - 用于附加/分离的 Laravel 模型事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416374/

相关文章:

mysql - Laravel HasManyThrough,访问主要/次要用户推荐

php - 尝试运行 php migrate 时出现 PDOException

java - 导航生态模型

ruby-on-rails - 在Rails中进行简单的自定义模型验证

c# - 如何在 C# 中使用事件?

Javascript/Jquery 单事件目标委托(delegate)

laravel - 从自定义字段更新同级输入字段

ruby-on-rails - Rails 模型似乎有效但未验证

JavaScript 错误 : Uncaught ReferenceError: edit is not defined

javascript - Angular Controller 未定义