17 use Illuminate\Database\Capsule\Manager as Capsule;
64 $this->limit = $count;
86 ->select(
'p.publication_id')
97 ->select(
'p.publication_id')
98 ->pluck(
'p.publication_id')
107 $this->columns = [
'*'];
108 $q = Capsule::table(
'publications as p');
110 if (!empty($this->contextIds)) {
111 $q->leftJoin(
'submissions as s',
's.submission_id',
'=',
'p.submission_id')
112 ->whereIn(
's.context_id', $this->contextIds);
115 if (!empty($this->submissionIds)) {
116 $q->whereIn(
'p.submission_id', $this->submissionIds);
120 if (!is_null($this->limit)) {
121 $q->limit($this->limit);
123 if (!empty($this->offset)) {
124 $q->offset($this->offset);
129 $q->orderBy(
'p.version',
'asc');
135 $q->select($this->columns);
148 Capsule::raw(
'MIN(p.date_published), MAX(p.date_published)')
160 return Capsule::table(
'publications as p')
161 ->leftJoin(
'submissions as s',
's.submission_id',
'=',
'p.submission_id')
162 ->where(
's.context_id',
'=', $contextId)
163 ->where(
'p.url_path',
'=', $urlPath);
184 return (
bool) Capsule::table(
'publications as p')
185 ->leftJoin(
'submissions as s',
's.submission_id',
'=',
'p.submission_id')
186 ->where(
'url_path',
'=' , $urlPath)
187 ->where(
'p.submission_id',
'!=', $submissionId)
188 ->where(
's.context_id',
'=', $contextId)