walnut / lib_dbquery
此包最新版本(0.0.5)没有可用的许可信息。
0.0.5
2024-01-21 17:07 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5.20
- vimeo/psalm: ^4.23.0
README
查询和执行的简单抽象
使用查询
固定查询
$query = new FixedQuery("SELECT * FROM users WHERE is_active = 1"); $result = $query->execute($queryExecutor); $result->all(); //all active users
预编译查询
$query = new PreparedQuery("SELECT * FROM users WHERE id = :id", ['id']); $result = $query->execute($queryExecutor, ['id' => 5]); $result->first(); //user with id 5 (or null if it does not exist)
占位符查询
$query = new Placeholder("SELECT * FROM users WHERE name LIKE **__name__**", ['name']); $result = $query->execute($queryExecutor, null, ['name' => '%john%']); $result->all(); //all user with name including "john"
使用结果包
列表结果包
$bag = new ListResultBag([ 1 => ['id' => 1, 'name' => 'Name 1'], 2 => ['id' => 2, 'name' => 'Name 2'], 3 => ['id' => 3, 'name' => 'Name 3'], ]); $bag->all(); //3 items $bag->withKey(1); //['id' => 1, 'name' => 'Name 1'] $bag->withKey(5); //null $bag->collect('name'); //['Name 1', 'Name 2', 'Name 3']
树形数据结果包
$bag = new TreeDataResultBag([ 1 => [ ['id' => 1, 'name' => 'Name 1'], ['id' => 2, 'name' => 'Name 2'] ], 3 => [ ['id' => 3, 'name' => 'Name 3'] ] ]); $bag->all(); //array(2 items, 1 item) $bag->withKey(1); //array(2 items) $bag->withKey(5); //array(0 items) $bag->collect('name'); //['Name 1', 'Name 2', 'Name 3']