protected static function boot()
{
parent::boot();
self::creating(function ($model) {
$model->unique_id = self::generateUniqueId();
});
self::deleting(function (Submission $submission) {
Log::info('Deleting model:', ['model' => $submission]);
dd($submission);
// Delete all associated media
$submission->clearMediaCollection('files');
$submission->clearMediaCollection('images');
});
}
eu tenho esse método no meu protótipo de envio, a geração funciona em cada novo protótipo durante a geração, mas a exclusão não está funcionando, exclusivamente exclui o protótipo e isso não funciona
meu protótipo de submissão
namespace AppModels;
use IlluminateDatabaseEloquentFactoriesHasFactory;
use IlluminateDatabaseEloquentModel;
use IlluminateSupportFacadesLog;
use SpatieMediaLibraryHasMedia;
use SpatieMediaLibraryInteractsWithMedia;
use SpatieMediaLibraryMediaCollectionsFile;
class Submission extends Model implements HasMedia
{
use InteractsWithMedia, HasFactory;
protected $fillable = [
'unique_id',
'user_id',
'title',
'description',
'status',
];
protected static function boot()
{
parent::boot();
self::creating(function ($model) {
$model->unique_id = self::generateUniqueId();
});
self::deleting(function (Submission $submission) {
Log::info('Deleting model:', ['model' => $submission]);
dd($submission);
Sua visita nos ajuda a continuar oferecendo o melhor para você! // Delete all associated media
$submission->clearMediaCollection('files');
$submission->clearMediaCollection('images');
});
}
public static function generateUniqueId()
{
do {
$uniqueId = str_pad(rand(0, 99999999), 12, '0', STR_PAD_LEFT);
} while (self::where('unique_id', $uniqueId)->exists());
return $uniqueId;
}
public function user()
{
return $this->belongsTo(User::class);
}
public function replies()
{
return $this->hasMany(SubmissionReply::class);
}
public function Sua visita nos ajuda a continuar oferecendo o melhor para você! void
{
$this->addMediaCollection('files')
->useDisk('submissions')
->acceptsFile(function (File $file) {
return in_array($file->mimeType, [
'image/jpeg',
'image/png',
'application/pdf',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
Sua visita nos ajuda a continuar oferecendo o melhor para você! 'text/plain'
]);
});
$this->addMediaCollection('images')
->useDisk('submissions')
->singleFile()
->acceptsMimeTypes([
'image/jpeg',
'image/png',
'image/jpg',
]);
}
}
Tags:
Crédito: Manadeira Original