jtrw/dao

用于数据库的Data Access Object

4.1.0 2024-07-23 08:31 UTC

This package is auto-updated.

Last update: 2024-09-24 08:51:37 UTC


README

Phpunit Codecov Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Data Access Object是php PDO的一个小巧包装器。在select查询中增加了更多方便的方法使用条件。

PDO使用

<?php
$db = new PDO(
    $GLOBALS['config']['db']['dsn'],
    $GLOBALS['config']['db']['user'],
    $GLOBALS['config']['db']['pass']
);
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 
$db->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); 
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); 


$res = $db->query('SET NAMES utf8mb4');

if (!$res) {
    throw new Exception('Database connection error);
}

$db = DataAccessObject::factory($db);

搜索

$search = [
       'columnName'     => 5,
       'columnName2&IN' => [1, 2, 3, 4]
       'columnName3&<'  => 7,
       'columnName4&>=' => 3
     ];

$sql = "SELECT * FROM users";
$db->select($sql, $search, [], DataAccessObjectInterface::FETCH_ALL)->toNative();

条件

环境

make install

make start

make stop

单元测试

php ./vendor/phpunit/phpunit/phpunit -c ./tests/phpunit.xml --testdox --stderr --colors

make tests - 运行所有测试并包含迁移

make run-tests - 运行所有测试但不包含迁移