# Attachments
# Manual attachments
If your Eloquent models has richTextFields
fields and the InteractsWithMedia
trait setup, you shouldn't have to manually handle attachments.
Manually uploading attachments can be done by simply flagging the upload as at attachment.
$attachment = Upload::make($uploadedFile)
->asAttachment()
->allow('jpg', 'png')
->save();
// or
$attachment = Upload::attachment($uploadedFile)
->allow('jpg', 'png')
->save();
// or
$attachment = Upload::uploadAttachment($uploadedFile);
# Associate a model
Using the richTextFields
field
$product->description = '
...
<img src="$attachment->url" alt="$attachment->alt" >
...
';
$product->save();
Or
$attachment->attach($product);
# Persisting attachments
Attachments are pending on creation until manually or automatically persisted by a richTextFields
field.
You shouldn't need to do this if your models has the richTextFields
fields and the InteractsWithMedia
trait.
use MOIREI\MediaLibrary\Models\Attachment;
...
$attachment = Attachment::where('url', $url)->first();
$attachment->persist();
# With the an Eloquent model
For this to work, the models must have the attachment url embedded in an img
tag in one of its richTextFields
fields.
This call will replace any existing model attachment with $product
.
use MOIREI\MediaLibrary\Api;
Api::persistAttachments($product);
# Purging attachments
$attachment = Attachment::where('url', $url)->first();
$attachment->purge();
Purge state attachments
Attachment::pruneStale();
// or specify age
Attachment::pruneStale(7); // older than 7 days