2017 © Pedro Peláez
 

library newx-orm

the concise database object relational mapping

image

beansir/newx-orm

the concise database object relational mapping

  • Tuesday, March 13, 2018
  • by 1052049021@qq.com
  • Repository
  • 0 Watchers
  • 4 Stars
  • 12 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

NewX ORM

NewX ORM是一个简洁的数据库对象关系映射。, (*1)

安装说明

使用composer一键安装, (*2)

composer require beansir/newx-orm

数据库配置文件

创建一个数据库配置文件,存放于你自己的项目中,格式如下, (*3)

<?php
return [
    'default' => [
        'host'      => '127.0.0.1', // 地址
        'user'      => 'user', // 用户名
        'password'  => 'password', // 密码
        'db'        => 'db', // 数据库名
        'type'      => 'mysqli' // 连接方式
    ],
];

加载ORM

请务必在应用运行之前加载, (*4)

<?php
$db = require 'xxx/db.php'; // 上一步配置的数据库文件
\newx\orm\NewxOrm::load($db);

继承Model

<?php
class UserModel extends \newx\orm\base\Model
{
    public $table = 'user'; // 数据表名,默认default

    public $db = 'default'; // 数据库配置,默认default
}

使用指南

创建数据模型

<?php
// @return Model_User
$user = UserModel::model();

查询所有记录

<?php
// @return array 模型对象数组
// 方式一
$user = UserModel::model()->all();

// 方式二
$user = UserModel::getAll();

查询单条记录

<?php
// @return Model_User
// 方式一
$user = UserModel::model()->one();

// 方式二
$user = UserModel::getOne();

定义数组结果集

<?php
// @return array 结果集数组
// 方式一
$user = UserModel::model()->asArray()->one();

// 方式二
$user = UserModel::model()->one();
$user = $user->toArray();

条件查询

<?php
// 方式一
$user = UserModel::model()->where(['id' => 1])->one();

// 方式二
$user = UserModel::getOne(['id' => 1]);

// 方式三
$user = UserModel::getOne(1); // 主键查询

表关联

<?php
// @return 关联的模型对象或对象数组,取决于hasOne还是hasMany
// 方式一
$log = UserModel::getOne(1)->getLog();

// 方式二
$log = UserModel::getOne(1)->log;

// 模型中关联写法
class UserModel extends \newx\orm\base\Model
{
    // 关联Model_Log
    public function getLog()
    {
        return $this->hasOne(
            LogModel::className(), // 关联表类名
            'user_id', // 关联表字段名
            'id' // 本表字段名
        );
    }
}

表连接

<?php
// 左连接
$user = UserModel::model()
    ->leftJoin(
        'table name', // 连接表名
        'join field', // 连接表字段名
        'self field' // 本表字段名
    )
    ->all();

// 右连接
$user = UserModel::model()->rightJoin('table name', 'join field', 'self field')->all();

// 内连接
$user = UserModel::model()->innerJoin('table name', 'join field', 'self field')->all();

执行SQL语句

<?php
$db = NewxOrm::getDb();

// 查询 @return array
$db->query($sql);

// 增删改 @return int
$db->execute($sql);

事务管理

<?php
$db = NewxOrm::getDb();

// 开启事务 @return bool
$db->beginTransaction();

// 提交事务 @return bool
$db->commit();

// 事务回滚 @return bool
$db->rollback();

The Versions

13/03 2018

dev-master

9999999-dev

the concise database object relational mapping

  Sources   Download

MIT

The Requires

 

by bean

orm newx

13/03 2018

v1.1

1.1.0.0

the concise database object relational mapping

  Sources   Download

MIT

The Requires

 

by bean

orm newx

08/03 2018

v1.0

1.0.0.0

the concise database object relational mapping

  Sources   Download

MIT

The Requires

 

by bean

orm newx