parallax / observe-relationships
观察关系
1.1
2020-05-05 15:10 UTC
Requires
- laravel/framework: ^5.5 | 6.* | 7.*
This package is auto-updated.
Last update: 2024-09-06 01:06:02 UTC
README
此包允许您配置特定的模型以触发其他可能相关模型的更新观察者。虽然Laravel支持touches
方法,但您可能使用的是一个无法定义父 -> 子关系的包模型实例,因此无法启用$touches
方法。此包执行相同的功能,但通过配置来控制。
例如,一个产品可能与一个页面相关联,但如果页面发生变化,当前模型不会重新索引。此包允许通过配置和观察来实现这一点。
安装
composer require parallax/observe-relationships
配置
在安装过程中,配置文件应该发布到您的/config
文件夹。如果没有,请运行以下命令:
php artisan vendor:publish --provider=Parallax\ObserveRelationship\ObserveRelationshipProvider
在/config/observe-relationship.php
中,您将看到一个空的模型数组。
键是您想观察的模型,然后是您想触发的模型的子数组。触发的必需字段是model
和field
。在观察者实例的保存时,将更新触发模型的updated_at
时间戳。
示例
以下是一个配置示例,其中Page
模型被观察以触发一个更改事件,该事件将使Product
模型被视为已更新:
return [ 'models' => [ \App\Models\Page::class => [ [ 'model' => \App\Models\Product::class, 'field' => 'page_id' ] ] ] ];