parallax/observe-relationships

1.1 2020-05-05 15:10 UTC

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中,您将看到一个空的模型数组。

键是您想观察的模型,然后是您想触发的模型的子数组。触发的必需字段是modelfield。在观察者实例的保存时,将更新触发模型的updated_at时间戳。

示例

以下是一个配置示例,其中Page模型被观察以触发一个更改事件,该事件将使Product模型被视为已更新:

return [
    'models' => [
        \App\Models\Page::class => [
            [
                'model' => \App\Models\Product::class,
                'field' => 'page_id'
            ]
        ]
    ]
];