test789434 / golden-goose
v1.1
2021-08-02 13:45 UTC
Requires
- php: ^7.3|^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
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
。当用户更新订阅时触发。