walnut / lib_dbquerybuilder
该软件包最新版本(0.0.4)没有提供许可证信息。
0.0.4
2024-01-22 11:11 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5.20
- vimeo/psalm: ^4.23.0
README
轻量级的选择、插入、更新和删除查询构建器。
示例
一些常用对象
$quoter = new MysqlQuoter; $queryFilter = new QueryFilter( new AndExpression( new OrExpression( new NotExpression( new FieldExpression('name', 'LIKE', new SqlValue("%test%")) ), new FieldExpression('id', '>', new SqlValue(3)) ), new RawExpression("`name` NOT IN ('admin', 'dev')"), new FieldExpression('name', '!=', 'id') ) );
插入查询
$iqb = new InsertQuery( "clients", [ "id" => new SqlValue(7), "name" => new SqlValue('Client 7') ] ); echo $iqb->build($quoter), PHP_EOL;
更新查询
$uqb = new UpdateQuery( "clients", [ "id" => new PreparedValue('id'), "name" => new SqlValue('Client 7') ], $queryFilter ); echo $uqb->build($quoter), PHP_EOL;
选择查询
$sqb = new SelectQuery( "clients", [ "id" => "id", "clientName" => "name" ], [ new TableJoin("p", "projects", new QueryFilter( FieldExpression::equals( new TableField("_", "id"), new TableField("p", "client_id"), ) )) ], $queryFilter, [ OrderBy::ascending('id'), OrderBy::descending('name') ], SelectLimit::forPage(3, 20) ); echo $sqb->build($quoter), PHP_EOL;
删除查询
$dqb = new DeleteQuery( "clients", $qf ); echo $dqb->build($quoter), PHP_EOL;