Работа с Базой Данных в phpFox 3 (Выполнение запроса)

Я считаю, что в phpFox оформление запросов сделано очень удобно. Вот пример выборки:
		$feed = $this->database()
			->select('privacy, user_id')
			->from(Phpfox::getT('feed'))
			->where('item_id = ' . (int) $itemId . ' AND type_id = \'' . $type . '\'')
			->execute('getSlaveRow');

Пробежимся по коду. Используя класс базы данных выбираем значение каких полей нам надо получить, для этого служит метод select, во второй строке:
			->select('privacy, user_id')

Тут видно, что нам надо получить значения всего двух полей: privacy и user_id.

Третья строка с методом from:
			->from(Phpfox::getT('feed'))

Устанавливает из какой таблицы надо получить значения.
В данном случаи название таблицы выглядит так: phpfox_feed. Тут статический метод getT() класса Phpfox добавляет префикс таблицы phpfox_

Четвертая строка и метод where:
			->where('item_id = ' . (int) $itemId . ' AND type_id = \'' . $type . '\'')

Определяет по каким параметрам необходимо выбирать запись.

Если оформить это как запрос без методов phpFox, то запрос выглядел бы примерно так:
			'SELECT privacy, user_id 
			FROM phpfox_feed 
			WHERE item_id = ' . (int) $itemId . ' AND type_id = \'' . $type . '\''

Остается только выполнить этот запрос, что и делает в phpFox пятая строка:
			->execute('getSlaveRow');

Теперь у нас есть массив $feed.

От того, какое значение записано в методе execute будет зависеть, каков будет результат выполнения запроса:
- getField - Значение одного поля, что будет указано в методе select.
- getRow - Один массив (одна запись).
- getRows - Несколько массивов.

Используется для распределения нагрузки на БД:
- getSlaveField - Значение одного поля, что будет указано в методе select.
- getSlaveRow - Один массив (одна запись).
- getSlaveRows - Несколько массивов.