Здравствуйте.
Есть такой запрос:
$rows = $this->database()
->select('feed.*, u.view_id, f.friend_id AS is_friend, ' . phpfox::getUserField())
->unionFrom('feed')
->join($this->database()->getTable('user'), 'u', 'u.user_id = feed.user_id')
->leftJoin($this->database()->getTable('friend'), 'f', 'f.user_id = feed.user_id AND f.friend_user_id = ' . (int) phpfox::getUserId())
->where($cond)
->order($order)
->limit($offset, $totalFeeds)
->execute('getSlaveRows');
В него мне необходимо добавить часть, которая связанна не со всеми записями:
->leftJoin($this->database()->getTable('pages'), 'pages', 'pages.page_id = feed.page_id')
И заменить WHERE:
->where(array_merge($cond, ['AND pages.privacy NOT IN (1, 2, 3, 4)']))
Поле "feed.page_id" может иметь, кроме ID страницы, NULL. Как можно осуществлять проверку, прямо в запросе: если не NULL, то добавлять "AND pages.privacy NOT IN (1, 2, 3, 4)". Если NULL, то данную строку использовать не надо?
Спасибо.