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
Object 当设置为隐藏在后端类型3中时检索控制器中的对象_Object_Typo3_Tx News - Fatal编程技术网

Object 当设置为隐藏在后端类型3中时检索控制器中的对象

Object 当设置为隐藏在后端类型3中时检索控制器中的对象,object,typo3,tx-news,Object,Typo3,Tx News,我正在使用新闻扩展管理我的网站的新闻消息。某些新闻项目在后端被禁用。用户有一个id为news对象的url,它将在我的控制器中触发一个操作 我正试图得到我的新闻对象像这样 $news = $this->newsRepository->findByUid($id); 这将返回NULL,因为它在后端被禁用/隐藏。当我将其切换回启用状态时。它会很好地返回我的对象 我在newsRepository中尝试了以下功能 public function findHiddenByUid($uid) {

我正在使用新闻扩展管理我的网站的新闻消息。某些新闻项目在后端被禁用。用户有一个id为news对象的url,它将在我的控制器中触发一个操作

我正试图得到我的新闻对象像这样

$news = $this->newsRepository->findByUid($id);
这将返回NULL,因为它在后端被禁用/隐藏。当我将其切换回启用状态时。它会很好地返回我的对象

我在newsRepository中尝试了以下功能

public function findHiddenByUid($uid) {

            $query = $this->createQuery();
            $query->getQuerySettings()->setRespectSysLanguage(FALSE);   
            $query->getQuerySettings()->setRespectStoragePage(FALSE);
            $query->getQuerySettings()->setEnableFieldsToBeIgnored(array('disable')); 
            return $query
            ->matching(
            $query->equals('uid', $uid)
            )
                ->execute()
                ->getFirst();

 }
但这也将返回空值

功能是否错误,是否缺少一些设置?我正在使用TYPO3 7.6

查看我在新闻分机中使用的findByUid:

public function findByUid($uid, $respectEnableFields = true)
{
    $query = $this->createQuery();
    $query->getQuerySettings()->setRespectStoragePage(false);
    $query->getQuerySettings()->setRespectSysLanguage(false);
    $query->getQuerySettings()->setIgnoreEnableFields(!$respectEnableFields);

    return $query->matching(
        $query->logicalAnd(
            $query->equals('uid', $uid),
            $query->equals('deleted', 0)
        ))->execute()->getFirst();
}

通过调用->findByUid123,false也将返回隐藏对象。

谢谢。这似乎有效,但它返回了一个查询结果。因此,当我尝试使用setHidden0时,它在未定义的方法下不起作用,因为它现在不是新闻模型。有什么建议吗?对不起我的错。我使用findById,而不是findByUid。它起作用了!谢谢