public function getNotifications(array $types, array $ids, $read = false)
    {
        $query = $this->whereIn('notifiable_type', $types)
                      ->whereIn('notifiable_id', $ids)
                      ->where('read', $read)
                      ->orderBy($this->orderBy, $this->orderByDirection);

        if ($this->limit) {
            $query->limit($this->limit);
        }

        if ($this->offset) {
            $query->offset($this->offset);
        }

        foreach($this->filters as $filter) {
            $filter($query);
        }

        if ($this->paginate) {
            return $query->paginate($this->paginate);
        }

        return $query->get();
    }