我试图创建一个新闻项目并将其缩略图存储在对应于其主键的位置:$ this-> getKey。这适用于更新,因为密钥是可用的,但在创建它不是。Laravel(5) - 如何在'创建'模型操纵器中使用getKey()
我使用的是机械手setThumbnailImageAttribute来处理文件上传:
public function setThumbnailImageAttribute($value) {
$this->setImage(
'thumbnail_image',
$value,
'news/'.$this->getKey().'/thumbnail_image/'
);
}
setImage处理上载和正确的值设置为属性(等数据库)
在更新此结果正确 in:
'新闻/ 1/thumbnail_image /'
在创建这个错误导致在:
'新闻// thumbnail_image /'
哪有我用增变器来实现这个,还是有不同的方法?
这看起来像一个派生属性。您不应该将其存储在数据库中(特别是考虑从现有记录构建它是微不足道的)。 – apokryfos