dcmunhoz / data-access

Data Access 是一个用于操作数据库的库

1.0.3 2019-11-24 19:55 UTC

This package is auto-updated.

Last update: 2024-09-25 07:35:54 UTC


README

Data Access 是一个用于操作数据库的库

亮点

  • 易于安装;
  • 执行原始查询;

安装

在您的命令提示符中,请使用以下命令

composer require dcmunhoz/data-access

连接

要开始,您需要连接到数据库(MySQL / Postgress),更多数据库连接信息请查看 此处

定义以下配置常量

define("DATA_ACCESS", [
  "driver"   => "mysql",
  "host"     => "localhost",
  "port"     => "3306",
  "dbname"   => "DATA_ACCESS_EXAMPLE",
  "user"     => "root",
  "password" => "",
  "options"  => [
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
  ]
]);

您的模型

在您的控制器中,您可以扩展 data-access 或创建一个对象。

/**
 * User controller example
 */
class UserController extends DataAccess{
  
    /**
     * User Constructor
     */
    function __construct(){
        /** \DataAccess::_construct(ENTITY_NAME, PRIMARY_KEY) */
        parent::__construct("TB_USERS", "ID_USER");
    }
}

原始执行

原始执行允许您执行任何想要的查询。

$user = new UserController();

$result = $user->raw("INSERT INTO TB_USERS(USER_NAME, PASSW, ID_PROFILE) VALUES(:uname, :upass, :pid)", [
    ":uname" => "user25",
    ":upass" => "mysupersecretpassword",
    ":pid" => '1'
]);

在 INSERT、UPDATE 或 DELETE 语句中,如果查询成功,原始执行将返回 true;如果查询失败,则返回 false。

在 SELECT 语句中,它将返回包含所有找到的记录的数组。

fetch

fetch() 将执行查询,如果将 params 参数传递为 false,则只返回第一个匹配项;如果传递为 true,则返回所有记录。

$user = new UserController();

//$result = $user->...->fetch(false);
$result = $user->...->fetch(true);

print_r($result);

find

find() 将返回类实体中的所有记录。

$user = new UserController();

$result = $user->find()->fetch(true);

print_r($result);

filter

filter() 允许您创建一个 WHERE 语句来查找特定记录。

$user = new UserController();

$result = $user->find()->filter("USER_NAME = :uname AND ID_USER = :uid", [":uname" => "USER1", ":uid" => 1])->fetch();

print_r($result);