首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pimcore -无法保存对象

Pimcore -无法保存对象
EN

Stack Overflow用户
提问于 2021-06-03 20:09:49
回答 2查看 89关注 0票数 1

Pimcore 10 - PHP 8- Symfony 5

我尝试使用新资产更新图库。在我尝试保存对象之前,一切似乎都运行得很好:

Pimcore\Model\DataObject\Data\Hotspotimage::getImage(): Return value must be of type ?Pimcore\Model\Asset\Image, Pimcore\Model\Asset returned

下面是我的脚本中我有问题的部分:

代码语言:javascript
复制
$asset = new Asset();
$asset->setFilename($filename);
$asset->setData(file_get_contents($somewhere . '/' . $filename));
$asset->setParent(Asset::getByPath('/folder/' . $sub_folder . '/'));
$asset->save();

$galleryAssets = $object->getMyGallery();
$currentItems = array_filter($galleryAssets->getItems());

$advancedImage = new \Pimcore\Model\DataObject\Data\Hotspotimage();
$advancedImage->setImage($asset);
$currentItems[] = $advancedImage;

$object->setMyGallery(new \Pimcore\Model\DataObject\Data\ImageGallery($currentItems));
$object->save();
EN

回答 2

Stack Overflow用户

发布于 2021-06-03 20:16:43

在没有更多上下文的情况下,我假设您需要在示例的第1行创建Pimcore\Model\Asset\Image的实例,而不是Pimcore\Model\Asset类型。该错误表示您正试图通过Pimcore\Model\DataObject\Data\Hotspotimage::setImage()添加错误类类型的图像

票数 0
EN

Stack Overflow用户

发布于 2021-08-10 08:13:21

尝试通过以下方式加载图像

代码语言:javascript
复制
$img = Asset\Image::getById($asset->getId());

并将此图像添加到hotspotimage中

代码语言:javascript
复制
$advancedImage->setImage($asset);

我知道它不是最优的,因为它需要额外的资源。但我不知道如何将资产类转换为子类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67821235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档