2017-04-18 85 views
0

我试图创建一个新闻项目并将其缩略图存储在对应于其主键的位置:$ 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 /'

哪有我用增变器来实现这个,还是有不同的方法?

+0

这看起来像一个派生属性。您不应该将其存储在数据库中(特别是考虑从现有记录构建它是微不足道的)。 – apokryfos

回答

1

这是你的方法无法实现的,是的!有一些讨厌的黑客可以这样做。但是在创建记录之后,您必须手动调用此方法。

+0

我在同一个方向思考,但我Laravel称这个方法与$价值..毫米也许我可以得到手动出请求() – Gilbert