19 lines
595 B
PHP
19 lines
595 B
PHP
|
<?php declare(strict_types=1);
|
||
|
|
||
|
namespace App\Contracts;
|
||
|
|
||
|
use Illuminate\Database\Eloquent\Builder;
|
||
|
use Illuminate\Database\Eloquent\Relations\Relation;
|
||
|
use Illuminate\Pagination\CursorPaginator;
|
||
|
use Illuminate\Pagination\LengthAwarePaginator;
|
||
|
use Illuminate\Support\Collection;
|
||
|
|
||
|
interface Search
|
||
|
{
|
||
|
public function __construct(Relation | Builder $query);
|
||
|
public function all(): Collection;
|
||
|
public function get(int $limit): Collection;
|
||
|
public function pagination(int $limit, int $page = 1): LengthAwarePaginator;
|
||
|
public function cursorPaginate(int $limit): CursorPaginator;
|
||
|
}
|