Моя таблица выглядит следующим образом:
CREATE TABLE IF NOT EXISTS `ProductCategoryImage` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`productCategoryId` INT(11) NOT NULL,
`imageName` VARCHAR(255) NOT NULL,
`thumbnailName` VARCHAR(255) NULL DEFAULT NULL,
`location` TINYINT(2) NOT NULL DEFAULT 1,
`status` TINYINT(2) NOT NULL DEFAULT 1,
`createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatedAt` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`deletedAt` DATETIME NULL DEFAULT NULL,
`createdById` INT(11) NOT NULL DEFAULT -1,
`updatedById` INT(11) NULL DEFAULT NULL,
`deletedById` INT(11) NULL DEFAULT NULL
);
Внутри модели ProductCategoryImage я записал ниже два метода:
public function getThumbnailNameAttribute($value)
{
return self::getThumbnailUrl($value);
}
public function setThumbnailNameAttribute($value)
{
$this->attributes['thumbnailName'] = $value;
}
Laravel не будет выполнять выше двух методов для настройки моегозначение поля таблицы.
Модель ProductCategoryImage расширяется от пользовательского BaseModel, а BaseModel расширяется от Eloquent.
Разве в Laravel нет методов-обработчиков событий, таких как beforeFind (), afterFind (), beforeSave (), afterSave()