首页 > 解决方案 > PHP - symfony 中的条件

问题描述

我编写了一个函数,通过 ItemRepository 传递一个 id 参数,然后检查该项目是否已经属于另一个用户。我想我犯了一个错误,因为每次它返回我定义的异常。

我的服务:

public function itemCheck(User $user, $id)
{
    /** @var Item $item */
    $item = $this->getItemRepository()->find($id);

    if(!$item) {
        throw new AppClientException('Item not found!');
    }
    if($user->getId()) {
        if($user->getId() == $item->getId()) {
            return true;
        } else {
            throw new AppClientException('This item belongs to another user!!');
        }
    }
}

标签: phpservicepost-parameter

解决方案


您不再需要在此处将 User 作为参数传递。让它变得简单就像这样:

public function itemCheck($id)
{
    /** @var Item $item */
    $item = $this->getItemRepository()->find($id);

    //no record found in database, its okay
    if(!$item) {
        return true;
    }

    return false;
}

推荐阅读