[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Конструктор запросов.
twin
Отсюда.

Нужна упрощенная схема конструктора запросов по принципу YII2, совместимая с mysqli и pdo. С возможностью расширения. Синтаксис оставим тот же, перечень методов согласуем отдельно.

Стоимость 3000 руб.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
Могу предложить только идею

$sql = "
SELECT
username,
password
FROM
tbl_users
WHERE
id = :id
:limit
"
;
$queryBuilder->from($sql)->limit(1)->setValue('id', 1)->fetchRow();


$sql = "
SELECT
username,
password
FROM
tbl_users
WHERE
:where
:limit
"
;
$queryBuilder->from($sql)->limit(1)->setWhere(array(
'id' => 1
)->fetchRow();

Смысл идеи, запросы все также пишутся текстом, но есть всякие хелперы которые помогают нивелировать различия между базами данных и упростить работу.

Идею надо дорабатывать, но скажу, что на работе я использую что-то подобное для кастомных запросов, только в еще более упрощенном варианте


$q = "
SELECT
username,
password
FROM
tbl_users
WHERE
:where
LIMIT
"
;
$sql = strtr($q, array(
':where' => implode(' AND ', array(
'id = ' . dbQuote(1),
'deleted = 0'
))
));

$row = dbGetRow($sql);


Что бы такое трешак по системе не расползался, я внедрил Query object'ы, в которые эти запросы инкапсулированы. Получилось что то вроде такого


$query = QueryFactory::get('Accounts', 'GetTopModified');
$query->setPeriod('-7 day');
$row = $query->fetch();


При этом внутри объект, вручную склееный запрос. Удобно.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.