nette/database
Nette Database is a lightweight PHP database layer with a fluent SQL builder, safe parameter binding, and handy helpers for querying, fetching, and working with result sets. Includes connections, transactions, and simple caching for robust apps.
This release brings a set of focused exception types that let you catch specific database failure modes (deadlocks, lock timeouts, check constraint violations, lost connections) instead of wrestling with generic driver errors. ActiveRow and Selection now expose getExplorer() for direct access to the underlying Explorer, and the reflection layer has been refactored for more consistent metadata across drivers.
ActiveRow and Selection now expose the underlying Explorer instance, no more jumping through hoops to get back to itgetIndexes SQL, parameterized SQLite PRAGMA queries, and ForeignKey::$name is now a non-nullable stringIN() inserts parameters directly and bypasses bindingGroupedSelection::refreshData()Selection::fixedAssoc() silently deprecatedfetchList() as alias for fetchFields() & shortcutsResultSet::fetchAssoc() returns associative array by default, added shortcutsconvertBoolean, convertDateTime, and convertDecimalConnection::getInsertId() now returns integersconvertBoolean and newDateTime (returns date as Nette\Database\DateTime) are enabled by defaultIRow and IRowContainerConnection::getPdo() and getDsn()fetchPairs() accepts callbacknormalizeRow(): removed extra float handling #307Helpers::detectType() supports 'INT UNSIGNED'MySqlDriver::initialize() removed support for 'utf8' charset before 5.5.3SqlsrvDriver::applyLimit() removed support for SQL Server < 2012normalizeRow() don't return small float as string #289getForeignKeys() #281ConnectionPanel::initialize() replaces Helpers::initializeTracy()getColumns() for materialized view tooqueryArgs() & ResultSet::getConnection() are silently deprecatedHelpers::initializeTracy() does not create a panel in production modebeginTransaction(), commit() & rollBack() calls are forbidden in transaction()Explorer::transaction() call can be nestedExplorer::transaction(): pass self as a callback argumentHelpers::initializeTracy() replaces createDebugPanel()For the details you can have a look at the diff.
compatible with PHP 8.0
[@Tracy](https://github.com/Tracy)\BlueScreen nette/di#245For the details you can have a look at the diff.
For the details you can have a look at the diff.
dumpSql() for bool parameters (#251)For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
getBelongsToReference() return value fixFor the details you can have a look at the diff.
For the details you can have a look at the diff.
::intgetColumnTypes() to avoid excessive number of queries #212quote() throws exception on error (related to #202)For the details you can have a look at the diff.
fetchFields()bindValue() (possible BC break)quote() returns false for ODBC driver #202getLastQueryString()For the details you can have a look at the diff.
How can I help you explore Laravel packages today?