exigen / dbsupport
提供了一种快速便捷的机制来构建数据库模型类。使用简单但功能强大且可扩展。
v1.0.1
2020-06-27 13:41 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-25 20:21:06 UTC
README
此包的目的是提供一个快速、便捷的机制来访问MySQL数据库,足够健壮,可以在大型项目中使用。
主要有两个类,一个是DB记录类,用于表示数据库表记录。
还有一个SQL查询构建类,用于帮助检索DB记录项的列表。
DB记录类:用于表示Db表记录。表定义在构造函数内。
class ExampleClass extends exigen\DbSupport\DbRecord
{
public function __construct()
{
$fieldList = array(
'customer_name' => array('type'=>DbAccess::DB_TYPE_NUMERIC, 'db_type'=>'int'),
'invoice_id' => array('type'=>DbAccess::DB_TYPE_STRING, 'db_type'=>'VARCHAR(128)'),
...
);
parent::__construct("the_table_name", 'the_table_id', $fieldList);
}
}
以下静态方法可用
- ExampleClass::lookUpInDatabase($id); // 如果在数据库中找到匹配的Id值,则返回Example类的实例,否则返回null。
- ExampleClass::createFromDatabase($id); // 如果在数据库中找到匹配的Id值,则返回Example类的实例,否则返回新实例。
Db记录的任何实例都可用以下方法
- $instance->save(); // 将记录保存到数据库。
- $instance->delete(); // 从数据库中删除记录。
- $instance->dbUpdate(); // 在数据库中更新/创建表。
- $instance->id()
对于上面的示例,以下方法会根据所选访问选项自动可用
- $instance->getId()
- $instance->getCustomerName();
- $instance->setCustomerName($name);
- $instance->getInvoiceId();
- $instance->setInvoiceId($id); 或者
- $instance->customerName();
- $instance->customerName($name);
- $instance->invoiceId();
- $instance->invoiceId($id);
用法:两步:1. 配置数据库连接详情,只需配置一次。2. 创建一个从DbRecord派生的类,并在构造函数内定义表。