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');
});
}
У меня есть этот метод в моей модели отправки, создание работает с каждой новой моделью во время создания, но удаление не работает, оно просто удаляет модель, и это не работает
моя модель представления
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Log;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\File;
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);
// 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 registerMediaCollections(): 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',
'text/plain'
]);
});
$this->addMediaCollection('images')
->useDisk('submissions')
->singleFile()
->acceptsMimeTypes([
'image/jpeg',
'image/png',
'image/jpg',
]);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... g-properly
Как исправить метод загрузки модели, который не работает должным образом? ⇐ Php
Кемеровские программисты php общаются здесь
1731386953
Anonymous
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');
});
}
У меня есть этот метод в моей модели отправки, создание работает с каждой новой моделью во время создания, но удаление не работает, оно просто удаляет модель, и это не работает
моя модель представления
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Log;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\File;
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);
// 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 registerMediaCollections(): 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',
'text/plain'
]);
});
$this->addMediaCollection('images')
->useDisk('submissions')
->singleFile()
->acceptsMimeTypes([
'image/jpeg',
'image/png',
'image/jpg',
]);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79179799/how-to-fix-model-boot-method-not-working-properly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия