Как учесть пустые значения во вложенных объектах VO - PullRequest
1 голос
/ 13 сентября 2011

Я унаследовал настройку 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, как этот?

1 Ответ

1 голос
/ 13 сентября 2011

Вы должны получить счет из результатов getUser, я бы вычислил это свойство и выдал исключение, если значение меньше 1.

Затем обработал исключение, так как код сильно зависит от результата методазависимость.

Тем не менее, это займет немного рефакторинга, который, как я вижу, вы пытаетесь избежать.

...