/** * Returns collection of all image attachments * @return mixed */ public function getAllImageAttachments($context = null) { $model = get_class(); if ($context) { return Attachment::where('model_id', $this->id)->where('context', $context)->where('model', $model)->orderBy('priority', 'asc')->get(); } //if no context, return all attachments return Attachment::where('model_id', $this->id)->where('model', $model)->orderBy('priority', 'asc')->get(); }
/** * Returns an array of objects in a format suitable for vue to populate attachments */ public static function getByModel($model, $model_id, $context) { $attachments = Attachment::where('model_id', $model_id)->where('context', $context)->where('model', $model)->orderBy('priority', 'asc')->get(); $result = []; foreach ($attachments as $attachment) { $details = new \stdClass(); $details->id = $attachment->id; $details->url = $attachment->url; $details->alt = $attachment->alt; $details->caption = $attachment->caption; $details->priority = $attachment->priority; $result[] = $details; } return $result; }