Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 暂时从对象存储中删除对象-类型3_Typo3_Extbase - Fatal编程技术网

Typo3 暂时从对象存储中删除对象-类型3

Typo3 暂时从对象存储中删除对象-类型3,typo3,extbase,Typo3,Extbase,我有2个模型的横幅和文件。横幅和文件通过mm关系连接。包含作为对象存储的文件的横幅对象。从对象存储中删除文件时,将删除该文件。如何仅删除关系而不删除对象 $banner->getFiles(); 返回一个对象存储 $files = $banner->getFiles(); foreach($files as $file){ $uid = $file->getUid(); if($uid==4){ $banner->

我有2个模型的横幅和文件。横幅和文件通过mm关系连接。包含作为对象存储的文件的横幅对象。从对象存储中删除文件时,将删除该文件。如何仅删除关系而不删除对象

$banner->getFiles();
返回一个对象存储

 $files = $banner->getFiles();
   foreach($files as $file){
       $uid = $file->getUid();
       if($uid==4){
           $banner->removeFiles($file);
       }
   }

当我完成上述代码时,文件模型的字段“已删除”更新为1,您希望此过程采用何种操作?只有通过操作重定向或使用PersistenceManager手动持久化$banner对象时,才应该真正删除该文件

也许您还可以克隆ObjectStorage,然后分离一些对象

$files = clone $banner->getFiles();
   foreach($files as $file){
       $uid = $file->getUid();
       if($uid==4){
           $files->detach($file);
       }
   }
在此解决方案中,所有文件应保留在$banner中,但UID4在$files变量中被删除


更新:见下面的评论。deleted=1是由模型内部的@cascade remove注释引起的。

您希望此过程采用何种操作?只有通过操作重定向或使用PersistenceManager手动持久化$banner对象时,才应该真正删除该文件

也许您还可以克隆ObjectStorage,然后分离一些对象

$files = clone $banner->getFiles();
   foreach($files as $file){
       $uid = $file->getUid();
       if($uid==4){
           $files->detach($file);
       }
   }
在此解决方案中,所有文件应保留在$banner中,但UID4在$files变量中被删除


更新:见下面的评论。deleted=1是由模型内部的@cascade remove注释引起的。

您的问题很模糊。您实际上是在对文件对象调用delete()方法吗?然后,只需在Banner对象上使用remove方法即可。这应该删除关系并保留文件对象。你的问题很模糊。您实际上是在对文件对象调用delete()方法吗?然后,只需在Banner对象上使用remove方法即可。这将删除关系并保留文件对象。如果$banner模型中的$files声明为@cascade remove?其声明为@cascade remove,我不确定是否有帮助,但尝试删除注释,清除安装工具中的缓存,然后重试删除ObjectStorage的某些项。如果$banner模型中的$files声明为@cascade remove?其声明为@cascade remove,我不确定是否有帮助,但请尝试删除批注,清除安装工具中的缓存,然后重试删除ObjectStorage的某些项。