我有 3 个表,products、taxonomies 和 product_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/