Untitled

 avatar
unknown
plain_text
6 months ago
782 B
3
Indexable
/**
     * Get all subscribers paginated.
     *
     * @param string|null $search
     * @param int $perPage amount of items per page
     * @throws Exception
     * @return LengthAwarePaginator
     */
    public function paginate(?string $search, int $perPage = 30): LengthAwarePaginator
    {
        try {
            $subscribers = DB::table('subscribers')
                ->join('users', 'users.userable_id', '=', 'subscribers.id')
                ->where('users.userable_type', Subscriber::class);

            if (!empty($search)) {
                $subscribers->where('users.full_name', 'like', "%{$search}%");
            }

            return $subscribers->paginate($perPage);
        } catch (Exception $e) {
            throw $e;
        }
    }
Editor is loading...
Leave a Comment