php - 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!!');
}
}
}
解决方案
您不再需要在此处将 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;
}
推荐阅读
- python - 为什么当我在 cmd 中键入 python - -version 时只显示一个空行?
- python - FizzBuzz 问题,我无法解决此代码。请阅读以下输出并给出答案
- javascript - Turbolinks 和 Nielsen javascript 标记
- c++ - 使用两个堆栈实现队列超过时间限制
- android - 使用 FFMPEG 将视频转换为 GIF 时,质量破坏和对 gif 的溺爱效果,如何获得清晰的 gif?
- python - 在python中使用import re从文件名中提取日期
- react-native - React Native,更改选择样式
- r - 如何在 R 中定位使用 kNN 错误分类的单个样本?
- java - 从android应用调用API时获取javax.net.ssl.SSLHandshakeException
- c - 我在使用 OPENGL 时遇到 LoadTexBPM 错误