alex-oliveira/

ao-logs

Laravel日志资源。

安装: 27

依赖: 0

建议者: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:package

dev-master 2018-02-28 23:03 UTC

This package is auto-updated.

Last update: 2024-09-25 23:14:02 UTC


README

1) 安装

$ composer require alex-oliveira/ao-logs

2) 配置 "config/app.php" 文件

'providers' => [
    /*
     * Vendor Service Providers...
     */
    AoLogs\ServiceProvider::class,
],

3) 创建 "config/ao.php" 文件

return [
    .
    .
    .
    'models' => [
        'users' => App\Models\User::class,
    ],
        
    'tables' => [
        'users' => 'users'
    ]
    .
    .
    .
];

4) 发布迁移

$ php artisan vendor:publish --tag=ao-logs
$ composer dump

使用方法

迁移

public function up()
{
    AoLogs()->schema()->create('users');
}

与下相同

public function up()
{    
    Schema::create('ao_logs_x_users', function (Blueprint $table) {
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id', 'fk_users_x_ao_logs')->references('id')->on('users');
        
        $table->bigInteger('log_id')->unsigned();
        $table->foreign('log_id', 'fk_ao_logs_x_users')->references('id')->on('ao_logs_logs');
        
        $table->primary(['user_id', 'log_id'], 'pk_ao_logs_x_users');
    });
}

public function down()
{
    AoLogs()->schema()->drop('users');
}

与下相同

public function down()
{    
    Schema::dropIfExists('ao_logs_x_users');
}

模型

namespace App\Models;

use AoLogs\Traits\AoLogsTrait;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use AoLogsTrait;   
}

与下相同

namespace App\Models;

use AoLogs\Models\Log;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * @return Log[]|\Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function logs()
    {
        return $this->belongsToMany(Log::class, 'ao_logs_x_users');
    }
}

控制器

namespace App\Http\Controllers\Users;

use AoLogs\Controllers\AoLogsController;
use App\Models\User;

class LogsController extends AoLogsController
{
    protected $dynamicClass = User::class;
}

路由

Route::group(['prefix' => 'users', 'as' => 'users.'], function () {
    
    AoLogs()->router()->controller('Users\LogsController')->foreign('user_id')->make();
    .
    .
    .
    
});

检查路由

$ php artisan route:list

注册日志

$category = \App\Models\Category::find(1);
.
.
.
AoLogs()->post($category, [
    'title' => 'Cadastro realizado.',
    'description' => 'O usuário "Alex Oliveira" realizou o cadastro da categoria "Computadores".'
]);