guilhermeabel/matcha-orm

轻量级且灵活的PHP对象关系映射(ORM)库

dev-master 2023-07-12 02:53 UTC

This package is auto-updated.

Last update: 2024-09-12 05:43:52 UTC


README

PHP

Matcha ORM 是一个轻量级且灵活的PHP对象关系映射(ORM)库。它提供了一个易于使用的API,用于处理关系型数据库,使开发者能够通过面向对象的方式来操作数据。

特性 ✨

  • ✅ CRUD操作(创建、读取、更新、删除)
  • 🗺️ 将类映射到数据库表,将属性映射到列
  • 🔍 查询和过滤数据
  • 📦 迁移和模式管理(即将推出...)
  • 🧑‍🤝‍🧑 实体间的关系(一对一、一对多、多对多)
  • 🚛 懒加载和预加载
  • 🔄 事务和并发控制

安装 📦

您可以使用Composer安装Matcha ORM

composer require guilhermeabel/matcha-orm

入门 🏁

要开始,您需要定义数据库连接常量

<?php

define('DB_NAME', 'matcha');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_DRIVER', 'mysql');
define('DB_HOST', 'localhost');

接下来,创建一个扩展MatchaORM\Model类的模型类,并将其映射到数据库表

use MatchaORM\Model;

class User extends Model
{
 protected $fillable = ['name', 'email', 'password'];
}

请确保定义$fillable属性,以指定可以批量分配的列。

MatchaORM将自动使用之前定义的数据库配置常量创建一个新的连接实例。

现在您可以使用User模型执行CRUD操作等操作

// Create a user
$user = new User();
$user->name = 'John Doe';
$user->email = 'johndoe@example.com';
$user->save();

// Update a user
$user = User::find(1);
$user->name = 'John Doe';
$user->email = 'johndoe@example.com' . rand(1, 100);
$user->save();

// Delete a user
$user = User::find(1);
$user->delete();