basttyy / reactphp-orm
基于 illuminate/database 和 react/mysql 包的 ReactPHP 数据库 OMR
v0.1.1
2022-09-27 13:12 UTC
Requires
- illuminate/database: ^9.31
- react/http: ^1.6
- react/mysql: ^0.5.6
- react/socket: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-15 02:01:17 UTC
README
基于 illuminate/database 和 react/mysql 的 reactphp 数据库 ORM
项目信息
安装
使用 PHP 包管理器 composer 安装 reactphp-orm。
composer require basttyy/reactphp-orm
用法
<?php //import require './vendor/autoload.php'; use Basttyy\ReactphpOrm\QueryBuilderWrapper; use Basttyy\ReactphpOrm\QueryBuilder; use React\MySQL\Factory; use React\MySQL\QueryResult; #create react/mysql factory $factory = new Factory(); #create querybuilder connection object $connection = (new QueryBuilderWrapper($factory))->createLazyConnection('root:123456789@localhost/react-database'); #run an insert query $values = [ 'username' => 'johndoe', 'firstname' => 'john', 'lastname' => 'doe', 'email' => 'johndoe@mail.com' ]; $connection->from('users')->insert($values)->then( function (bool $status) { echo "inserted successfully ".PHP_EOL; }, function (Exception $ex) { echo $ex->getMessage().PHP_EOL; } ); #run a select where query $connection->from('users')->where('status', 'active')->query()->then( function (QueryResult $command) { print_r($command->resultRows); echo count($command->resultRows) . ' row(s) in set' . PHP_EOL; }, function (Exception $error) { echo 'Error: ' . $error->getMessage() . PHP_EOL; } ); #run a get query $connection->from('users')->where('status', 'active')->get()->then( function(Collection $data) { print_r($data->all()); echo $data->count() . ' row(s) in set' . PHP_EOL; }, function (Exception $error) { echo 'Error: ' . $error->getMessage() . PHP_EOL; } );
查询功能覆盖图
- query()
- get()
- insert()
- delete
- 更新
- first()
- find()
- count
- exists
- InsertOrIgnore
- InsertUsing
- UpdateOrInsert
- UpdateFrom
- Upsert
- pluck
- doesntexist
- existsor
- doesntexistor
- Increment
- decrement
- lock
- lockforupdate
- findor
- value
- paginate
- simplepaginate
- cursopaginate
- getcountforpagination
- getpaginationcountquery
- cursor
- min
- max
- sum
- avg
- average
- aggregate
- numericaggregate
- truncate
- newQuery
- forSubQuery
- getProcessor
- useWritePDO
- clone
- cloneWithout
- cloneWithoutBindings
贡献
欢迎 Pull requests。对于重大更改,请先创建一个 issue 来讨论您想更改的内容。
请确保根据需要更新测试。