1

我继承了一个 vo/dao 设置(不过,只有一个模型类具有每个类的所有 DAO 函数),但是递归变得很奇怪。

每个用户都有帖子,每个帖子都可以有视频,但视频也有用户,有时没有为帖子设置视频。

getPost 看起来(部分)像这样:

function getPostById($id) {
  $post->name = $row['name'];
  $post->video = $this->getVideoById($row['video_id']);
}

video 有一个类似的函数来获取它的用户,问题是如果一个视频没有在帖子中设置(id=0),那么它的 getUser 函数在逻辑上会失败,带有mysql_fetch_array() expects parameter 1 to be resource, boolean given. 现在我可以对所有引用其他对象的命令设置条件,但是在像这样链接 V0 对象时,还有其他方法可以处理潜在的空值吗?

4

1 回答 1

1

你应该从 的结果中得到一个计数,getUser如果值小于 1,我会评估该属性并抛出异常。

然后处理异常,因为代码非常依赖方法结果依赖。

但是,这将需要一些重构,我可以看到您正试图避免。

于 2011-09-13T17:00:03.743 回答