SystemOperateLogFilter.php 798 Bytes
<?php

namespace App\ModelFilters;

use App\Models\Activity;
use App\Support\ModelFilter;

class SystemOperateLogFilter extends ModelFilter
{
    public $relations = [
        'user' => [
            'userNickName' => 'nickName',
            'userRealName' => 'realName'
        ],
    ];

    /**
     * @param string $guard
     * @return void
     */
    public function guard(string $guard): void
    {
        $this->where('guard', $guard);
    }

    /**
     * @param $path
     * @return void
     */
    public function path($path): void
    {
        $this->whereJsonContains('path', $path);
    }

    /**
     * @param $id
     * @return void
     */
    public function activity($id): void
    {
        $this->where('subject_type', Activity::class)->where('subject_id', $id);
    }
}