bit-kitchen / zsql-multiplex
Installs: 465
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
pkg:composer/bit-kitchen/zsql-multiplex
Requires
- jbboehr/zsql: >=0.3.4
Requires (Dev)
- apigen/apigen: 2.8.*
- phpunit/php-text-template: 1.1.*
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2022-02-01 12:52:41 UTC
README
A drop in replacement for zsql\Database with support for read/write splitting.
Usage
$database = new \zsql\Multiplex($reader, $writer); // select runs against $reader $database->select() ->from('tableName') ->where('columnName', 'value') ->limit(1) ->query(); // insert runs against $writer $id = $database->insert() ->ignore() ->into('tableName') ->value('columnName', 'value') ->value('otherColumnName', 'otherValue') ->query(); // update runs against $writer $database->update() ->table('tableName') ->set('columnName', 'value') ->set('someColumn', new zsql\Expression('NOW()')) ->where('otherColumnName', 'otherValue') ->limit(1) ->query(); // delete runs against $writer $database->delete() ->from('tableName') ->where('columnName', 'value') ->limit(1) ->query(); // ensure that the next query uses the $writer $insert = $database->query('SET @num := 1'); $result = $database->useWriter() ->query('SELECT @num') ->fetchColumn();