如何检查类别是否不存在?

How to check if category doesn't exist?

我有一个博客 post URL 如下:

/blog/testing-url

链接到一个类别并且该类别已被删除!我现在想要的是显示post。此 post 的类别已被删除,但我如何检查该类别是否不存在?我尝试了以下

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;

    ...
  }

您可以检查对象 $vcat 是否具有 Category 实体的实例,并在这种情况下执行某些操作。例如:

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

我还没有尝试过。让我知道这是否有效