test789434/golden-goose

v1.1 2021-08-02 13:45 UTC

This package is auto-updated.

Last update: 2024-09-29 06:20:21 UTC


README

安装

composer req test789434/golden-goose

不使用自动发现的Laravel

如果你不使用自动发现,将 ServiceProvider 添加到 config/app.php 中的 providers 数组

GoldenGoose\SubscriptionServiceProvider::class

将以下行添加到你的 User 模型

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use GoldenGoose\Traits\HasSubscriptions; <-- this line

class User extends Authenticatable
{
    use HasFactory, Notifiable;
    use HasSubscriptions; <-- this line

发布迁移并运行它

php artisan vendor:publish --provider="GoldenGoose\SubscriptionServiceProvider" --tag="migrations"
php artisan migrate

用法

用户订阅可通过路由 GET /subscriptions 获取

如果你安装了没有实现认证的Laravel应用,可以使用breeze包快速访问订阅

composer req laravel/breeze
php artisan breeze:install
npm install && npm run dev

创建模拟订阅

php artisan tinker
>>> \GoldenGoose\Models\Subscription::factory()->count(10)->create()

用户模型

你可以通过 subscriptions 属性访问用户订阅

$user->subscriptions;

为了默认双向关联用户,使用 App\Models\User::class。若要使用其他模型,请发布配置并更改它

php artisan vendor:publish --provider="GoldenGoose\SubscriptionServiceProvider" --tag="config"
[
    'user' => App\Models\User::class
]

事件

该包提供了事件 SubscriptionsWasUpdated。当用户更新订阅时触发。