Кто-нибудь знает хороший класс ООП PHP MySQL? Для построения запросов в первую очередь - PullRequest
1 голос
/ 12 января 2012

РЕДАКТИРОВАТЬ: нашел это, который работает довольно хорошо для того, что мне нужно: https://github.com/jstayton/QueryBuilder

Я строю небольшой проект, в котором мне нужно пару раз запросить таблицу.

Работает так:

1) Multi-select box of distinct items in Column 1
2) Ajax query the db for distinct records in Column 2 where Column 1 IN (vals
   previously selected)
3) Does this 3-4 more times, gradually cutting down the available options by 
   adding IN statements to the MySQL

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

$qry->from("mytable");
$qry->column("col1");
$qry->column("col2");
$qry->addWhere("col1", "in", $arrayOfVals);
$qry->addWhere("col2", "in", $arrayOfVals2);

Или что-то в этом роде, которое сделает это более чистым способом.

В качестве альтернативы, если у кого-то есть предложения относительно другого способа сделать это, я тоже открыт для этого.

Ответы [ 3 ]

1 голос
/ 12 января 2012

Zend_Db_Select имеет почти точный синтаксис, который вы указали.Но для этого вам придется включить довольно много классов Zend_Db_ *, я не знаю, приемлемо ли это для вас.

http://framework.zend.com/manual/en/zend.db.html

1 голос
/ 12 января 2012

Существует бесконечное количество способов сделать это - все зависит от ваших потребностей.Вы могли бы свернуть свой собственный наверняка или пойти на что-то уже в дикой природе.

Взгляните на ezSQL http://justinvincent.com/ezsql, это может быть прямо на вашей аллее.

0 голосов
/ 13 февраля 2014

Я заметил, что ссылка, которую вы указали в вашем редакторе, больше не работает, поэтому по этой причине я рекомендую посмотреть на FluentPDO aswell - http://fluentpdo.com/index.html

Он имеет очень простой процесс установки и очень плавный и естественныйметоды построения запросов, позволяющие использовать синтаксис, аналогичный тому, который вы упомянули в исходном вопросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...