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
- Несколько массивов.- Жалоба