hirschberg / credits
Laravel 包,用于轻松添加用户积分支持(基于 iamjaime/credits 的分支)
This package is not auto-updated.
Last update: 2024-09-25 17:23:19 UTC
README
Laravel 用户积分包
本包的目的是让您能够轻松地将积分系统应用到现有的 Laravel 应用中。
例如:如果您想创建一个用户必须购买积分才能在该网站上购买商品的网站,这个包将使您轻松实现这一点。
要开始使用,请按照以下步骤操作
使用 Composer 安装包
composer require iamjaime/credits --dev
然后前往您的 config/app 目录,并将以下内容添加到 providers 数组中
Iamjaime\Credits\UserCreditServiceProvider::class
现在您必须运行迁移...
php artisan migrate
现在前往您的用户模型,并在顶部添加以下行
use Iamjaime\Credits\Traits\UsesCredits;
然后在您的类内部添加以下行
use UsesCredits;
您的模型现在应该看起来像这样
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Iamjaime\Credits\Traits\UsesCredits;
class User extends Authenticatable
{
use Notifiable, UsesCredits;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
如果您使用的是 Laravel Spark,需要进行以下操作
前往 App/Providers/EventServiceProvider.php 并将以下内容添加到 protected $listen 数组中
'Laravel\Spark\Events\Auth\UserRegistered' => [
'Iamjaime\Credits\Listeners\UserRegistered'
],
如果您使用 Laravel Spark 的团队计费并且想按团队使用积分,请执行以下操作
前往 App/Providers/EventServiceProvider.php 并将以下内容添加到 protected $listen 数组中
'Laravel\Spark\Events\Teams\TeamCreated' => [
'Laravel\Spark\Listeners\Teams\UpdateOwnerSubscriptionQuantity',
'Iamjaime\Credits\Listeners\TeamCreated'
],
前往您的团队模型,并在顶部添加以下行
use Iamjaime\Credits\Traits\UsesTeamCredits;
然后在您的类内部添加以下行
use UsesTeamCredits;
您的模型现在应该看起来像这样
<?php
namespace App;
use Laravel\Spark\Team as SparkTeam;
use Iamjaime\Credits\Traits\UsesTeamCredits;
class Team extends SparkTeam
{
use UsesTeamCredits;
//
}
现在您已经设置完毕,可以开始使用了!
以下是一些示例
以下代码片段将返回包含用户积分的用户对象。
$user = App\User::where('id', '=', 1)->with('credit')->first();
//These are the user's credits....
$credits = $user->credit->amount;
以下代码片段将返回包含团队积分的团队对象。
$team = App\Team::where('id', '=', 1)->with('credit')->first();
//These are the team's credits....
$credits = $team->credit->amount;
以下是如何更新用户积分的示例。
$user = App\User::where('id', '=', 1)->first();
$user->updateCredits(500);
以下是如何更新团队积分的示例。
$team = App\Team::where('id', '=', 1)->first();
$team->updateCredits(500);