tsubasarcs/laravel-recommendation

cp member get member database package

5.5.10 2019-05-10 02:25 UTC

This package is auto-updated.

Last update: 2024-09-10 14:53:35 UTC


README

此包为Laravel生成用户唯一代码。

安装

当前此包仅适用于laravel 5.5。

通过composer安装

    $ composer require tsubasarcs/laravel-recommendation

发布迁移和配置

在终端运行以下命令以发布迁移

    $ php artisan vendor:publish --provider="Tsubasarcs\Recommendations\RecommendationServiceProvider" --tag="migrations"

如果您想更改某些参数,可以在终端运行以下命令以发布配置

    $ php artisan vendor:publish --provider="Tsubasarcs\Recommendations\RecommendationServiceProvider" --tag="config"

设置

推荐模型

如果您想自定义模型和列,请检查推荐模型 "code" 列以防止代码重复。

// config/recommendation.php
...
    'model' => [
        'name' => \Tsubasarcs\Recommendations\Recommendation::class,
        'code_column' => 'code',
    ],

默认情况下,推荐模型属于 \Tsubasarcs\Recommendations\IlluminateUser::class,您需要将其更改为您的应用程序模型。

// config/recommendation.php
...
    'relation_model' => \Tsubasarcs\Recommendations\IlluminateUser::class,

默认属性

通过设置默认键值可以自定义生成代码的类型和长度属性。

// config/recommendation.php
...
    'default' => [
        'type' => 1,
        'length' => 10,
    ],

代码结构分为三部分:prefixtimestampcode
您可以选择是否连接 prefixtimestamp,并自定义部分之间的 symbol

// config/recommendation.php
...
    // Default only code.
    'code_structure' => [
        'prefix' => '',
        'timestamp' => false,
        'symbol' => '-'
    ]

用法

生成代码

代码门面端点是 generate(),它将返回一个数组。

    Code::generate(); 
    // [['type' => 1,'code' => 'X6nbxJ8DHk']];

如果您没有使用端点,它将返回 CodeService 实例。

    Code::type(2); 
    // Tsubasarcs\Recommendations\CodeService {#result: [], #times: 1, #type: 2, #length: 10};

#示例

    Code::prefix('cp')
        ->timestamp(true)
        ->symbol('@')
        ->type(2)
        ->length(15)
        ->times(2)
        ->generate(); 
    // [
    //      ["type" => 2, "code" => "cp@1557454693@4PZHxJXdM7K8OBo"],
    //      ["type" => 2, "code" => "cp@1557454693@rnExFAeD18GDMhs"]
    // ];
    
    'X6nbxJ8DHk'
    // default
    
    'cp-X6nbxJ8DHk'
    // config('recommendation.code_structure.prefix') == 'cp'
    
    '1557287118-Gnr3olcOD6'
    // config('recommendation.code_structure.timestamp') == true
    
    'cp_1557287118_X6nbxJ8DHk'
    // config('recommendation.code_structure.prefix') == 'cp'
    // config('recommendation.code_structure.timestamp') == true
    // config('recommendation.code_structure.symbol') == '_'