aura/sqlquery
Database-agnostic SQL query builders for MySQL, PostgreSQL, SQLite, and SQL Server. Build SELECT/INSERT/UPDATE/DELETE statements safely and portably without tying to a specific DB library (PDO recommended). PSR-4, PHP 5.6+.
Full Changelog: https://github.com/auraphp/Aura.SqlQuery/compare/2.7.1...3.0.0
Full Changelog: https://github.com/auraphp/Aura.SqlQuery/compare/2.8.0...2.8.1
Full Changelog: https://github.com/auraphp/Aura.SqlQuery/compare/2.7.1...2.8.0
Full Changelog: https://github.com/auraphp/Aura.SqlQuery/compare/2.7.1...3.0.0-alpha1
Hygiene release: update README.
Select::reset*() methods. Fixes #84, #95, #94, #91.join*() before from*(). Joins-before-from are added
to the first from. If no from is ever added, the joins will never be built
into the statement. Fixes #69, #90.[@method](https://github.com/method) getStatement() to the QueryInterface for IDE auto-completion.instanceof SubselectInterface instead of self; the Select class now
implements SubselectInterface, so this should not be a BC break.This release modifies the testing structure and updates other support files.
This release fixes Insert::addRows() so that adding only one row generates the correct SQL statement.
This release incorporates two feature additions and one fix.
addRow() and addRows() methods.ON DUPLICATE KEY UPDATE functionality with the new onDuplicateKeyUpdate*() methods.setPaging() now re-calculates the LIMIT and OFFSET values.This release has several new features.
join() methods now have an extra $bind param that allows you to bind values to ?-placeholders in the condition, just as with where() and having().getStatement() has been added to all queries, to allow you to get the text of the statement being built. Among other things, this is to avoid exception-related blowups related to PHP's string casting.where(), having(), etc, the Select class now examind the value to see if it is a query object. If so, it converts the object to a string and replaces the ?-placeholder inline with the string instead of attempting to bind it proper. It also binds the existing sequential placholder values into the current Select in a non-conflicting fashion. (Previously, no binding from the sub-select took place at all.)fromSubSelect() and joinSubSelect(), the Select class now binds the sub-select object sequential values to the current Select in a non-conflicting fashion. (Previously, no binding from the sub-select took place at all.)The change log follows:
To avoid mixing numbered and names placeholders, we now convert numbered ? placeholders in where() and having() to :# named placeholders. This is because PDO is really touchy about sequence numbers on ? placeholders. If we have bound values [:foo, :bar, ?, :baz], the ? placeholder is not number 1, it is number 3. As it is nigh impossible to keep track of the numbering when done out-of-order, we now do a braindead check on the where/having condition string to see if it has ? placholders, and replace them with named :# placeholders, where # is the current count of the $bind_values array.
Initial 2.0 stable release.
colname => alias pairs mixed in with sequential colname values.Initial 2.0 beta release.
How can I help you explore Laravel packages today?