Tokens.php 701 Bytes
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Tokens extends Model
{
    CONST MAIN = 'main';
    CONST GOAL = 'goal';

    protected $fillable = ['token', 'login', 'type'];

    public function scopeFilter($query, array $filters)
    {
        $query->when($filters['login'] ?? null, function ($query, $search) {
            $query->where('login', 'like', '%'.$search.'%');
        })->when($filters['type'] ?? null, function ($query, $type) {
            $query->where('type', $type);
        })->when($filters['api'] ?? null, function ($query, $api) {
            $query->where('api', $api);
        });
    }
}