2017-12-27 297 views
0

我有一個博客帖子的網址如下:如何檢查類別是否不存在?

/blog/testing-url

這是鏈接到一個類別&該類別已被刪除!我現在想要的是顯示帖子。這篇文章的類別已被刪除,但我如何檢查類別是否不存在?我嘗試了以下方法

if(isset($ category))但這不起作用。

錯誤:

Fatal error: Call to a member function getCategory() on a non-object in /httpdocs/apps/mainv2/modules/blog/actions/actions.class.php on line 168

這是一段代碼,其中的錯誤發生:

public function executeEdit(sfWebRequest $request) { #edit video 
    ... 

    $this->nrpag = $request->getParameter('nrpag', 1); 
    $cats = array(); #video_cat 
    $c = new Criteria(); 
    $c->addAscendingOrderByColumn(VideoCatPeer::CATEGORY); 
    $vcats = VideoCatPeer::doSelect($c); 
    foreach ($vcats as $vcat) { 
     if($vcat != NULL){ 
      $cats[$vcat->getId()] = $vcat->getCategory(); 
     }else{ 
      continue; 
     } 
    } 
    $this->cats = $cats; 

    ... 
    } 
+0

*「if(isset($ category)),但這是行不通的。」* - 我看不到'$ category'的定義。 –

+0

@FunkFortyNiner添加代碼 –

+1

是的,您提供的代碼片段不會顯示$ category變量,也不會顯示調用的getCategory方法。你確定你從actions.class.php中取出了代碼嗎? –

回答

1

可以檢查對象$vcat是否具有Category實體的實例,並做一些這種情況。例如:

foreach ($vcats as $vcat) { 
    if($vcat != NULL && $vcat->getCategory() instanceof Category){ 
     $cats[$vcat->getId()] = $vcat->getCategory(); 
    } 
} 

我還沒試過只是一個雖然。讓我知道如果工作