protected function beforeSave(): void
{
// Runs before the form fields are saved to the database.
$oldPrimaryImage = $this->record->image_file_name;
$newPrimaryImage = Arr::first($this->data['image_file_name']);
// Do this only if new image is received
if ($oldPrimaryImage !== $newPrimaryImage) {
ResizeImages::dispatch([$newPrimaryImage]);
DeleteImages::dispatch([$oldPrimaryImage]);
}
// Getting only the values of both arrays to compare
$oldSecImages = array_values($this->record->sec_images ?: []);
$newSecImages = array_values($this->data['sec_images'] ?? []);
$deletedImages = array_diff($oldSecImages, $newSecImages);
$addedImages = array_diff($newSecImages, $oldSecImages);
if (count($addedImages)) {
ResizeImages::dispatch($addedImages);
}
if (count($deletedImages)) {
DeleteImages::dispatch($deletedImages);
}
}
protected function beforeSave(): void
{
// Runs before the form fields are saved to the database.
$oldPrimaryImage = $this->record->image_file_name;
$newPrimaryImage = Arr::first($this->data['image_file_name']);
// Do this only if new image is received
if ($oldPrimaryImage !== $newPrimaryImage) {
ResizeImages::dispatch([$newPrimaryImage]);
DeleteImages::dispatch([$oldPrimaryImage]);
}
// Getting only the values of both arrays to compare
$oldSecImages = array_values($this->record->sec_images ?: []);
$newSecImages = array_values($this->data['sec_images'] ?? []);
$deletedImages = array_diff($oldSecImages, $newSecImages);
$addedImages = array_diff($newSecImages, $oldSecImages);
if (count($addedImages)) {
ResizeImages::dispatch($addedImages);
}
if (count($deletedImages)) {
DeleteImages::dispatch($deletedImages);
}
}