Работа с Базой Данных в phpFox 3 (Выполнение запроса)
08.12.2017 12:59:36 pm
Я считаю, что в phpFox оформление запросов сделано очень удобно. Вот пример выборки:
Пробежимся по коду. Используя класс базы данных выбираем значение каких полей нам надо получить, для этого служит метод select, во второй строке:
Тут видно, что нам надо получить значения всего двух полей:
Третья строка с методом from:
Устанавливает из какой таблицы надо получить значения.
В данном случаи название таблицы выглядит так:
Четвертая строка и метод where:
Определяет по каким параметрам необходимо выбирать запись.
Если оформить это как запрос без методов phpFox, то запрос выглядел бы примерно так:
Остается только выполнить этот запрос, что и делает в phpFox пятая строка:
Теперь у нас есть массив
От того, какое значение записано в методе execute будет зависеть, каков будет результат выполнения запроса:
-
-
-
Используется для распределения нагрузки на БД:
-
-
-
$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 - Несколько массивов.- Жалоба
