我有这个代码,它基于添加到文件系统但尚未在数据库中的新文件创建新图像:
$image = Image::create();
$image->Filename = 'assets/Art/e3434cc7-d348-491a-9dc8-325af3d9086d.jpg';
$image->write();
$images = Image::get();
$image = $images->last();
$vd = new ViewableData();
$ad = new ArrayData(array(
'Image' => $image
));
$strHTML = $vd->customise($ad)->renderWith('Art');
Art.ss 仅包含$Image.SetWidth(100)
忽略查询没有通过ID或其他任何内容查找的事实...如果我在创建后从数据库中检索图像,为什么图像只会呈现为$strHTML
?如果我删除下面的代码,则$strHTML
为空:
$images = Image::get();
$image = $images->last();
答案 0 :(得分:1)
有一个可用的setter所以单独使用它可能会有所帮助,但您也可能需要将父文件夹的ID分配给该对象:
$pFolder = Folder::find_or_make('Art');
if ($pFolder) {
$image->setParentID($pFolder->ID);
$image->setFilename('assets/Art/e3434cc7-d348-491a-9dc8-325af3d9086d.jpg');
}