mrmadclown/mnemosyne

Mnemosyne是一个PDO数据库层

v1.3 2023-01-26 21:13 UTC

README

License: MIT Latest Stable Version Total Downloads example workflow example workflow

这是一个简单的基于PDO的mysql查询构建器

安装

composer require mrmadclown/mnemosyne

用法

构建器是通过传递PDO::class的一个实例到\MrMadClown\Mnemosyne\Builder::class来构造的

use \PDO;

$pdo = new \PDO();
$builder = new \MrMadClown\Mnemosyne\Builder($pdo);

有了构建器对象,可以构建一个类似手写查询的mysql查询

...

$builder->select('*')->from('users')->where('id', 1);

重要

默认情况下,PDO获取模式设置为PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE;,这意味着您必须有一个代表您表的类

#User.php
class User {
    public int $id;
    public string $name;
}

$builder->setClassName(User::class)->fetchAll(); // returns an array of Users

您可以使用魔法方法__set将数据库列映射到您的模型中。如果您不想使用不同的获取模式,可以调用$builder->setFetchMode(\PDO::FETCH_ASSOC)来更改构建器实例的获取模式。