承接 ohuolo/swoolefy-orm 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ohuolo/swoolefy-orm

Composer 安装命令:

composer require ohuolo/swoolefy-orm

包简介

db orm for swoolefy base on topthink/think-orm

README 文档

README

基于PHP5.6+ 的ORM实现,主要特性:

  • 基于ThinkPHP5.1的ORM独立封装
  • 支持Mysql、Pgsql、Sqlite、SqlServer、Oracle和Mongodb
  • 支持Db类和查询构造器
  • 支持事务
  • 支持模型和关联

适用于不使用ThinkPHP框架的开发者。

安装

composer require topthink/think-orm

Db类用法:

use think\Db;
// 数据库配置信息设置(全局有效)
Db::setConfig(['数据库配置参数(数组)']);
// 进行CURD操作
Db::table('user')
	->data(['name'=>'thinkphp','email'=>'thinkphp@qq.com'])
	->insert();	
Db::table('user')->find();
Db::table('user')
	->where('id','>',10)
	->order('id','desc')
	->limit(10)
	->select();
Db::table('user')
	->where('id',10)
	->update(['name'=>'test']);	
Db::table('user')
	->where('id',10)
	->delete();

Db类增加的(静态)方法包括:

  • setConfig 设置全局配置信息
  • getConfig 获取数据库配置信息
  • setQuery 设置数据库Query类名称
  • setCacheHandler 设置缓存对象Handler(必须支持get、set及rm方法)
  • getSqlLog 用于获取当前请求的SQL日志信息(包含连接信息)

其它操作参考TP5.1的完全开发手册数据库章节

定义模型:

namespace app\index\model;
use think\Model;
class User extends Model
{
}

代码调用:

use app\index\model\User;

$user = User::get(1);
$user->name = 'thinkphp';
$user->save();

Db类和模型对比使用

✅ 创建Create

  • Db用法

    Db::table('user')
        ->insert([
            'name'  => 'thinkphp',
            'email' => 'thinkphp@qq.com',
        ]);
  • 模型用法

    $user        = new User;
    $user->name  = 'thinkphp';
    $user->email = 'thinkphp@qq.com';
    $user->save();
  • 或者批量设置

    $user = new User;
    $user->save([
        'name'  => 'thinkphp',
        'email' => 'thinkphp@qq.com',
    ]);

✅ 读取Read

  • Db用法

    $user = Db::table('user')
        ->where('id', 1)
        ->find();
    //  或者
    $user = Db::table('user')
        ->find(1);
    echo $user['id'];
    echo $user['name'];
  • 模型用法

    $user = User::get(1);
    echo $user->id;
    echo $user->name;
  • 模型实现读取多个记录

    // 查询用户数据集
    $users = User::where('id', '>', 1)
        ->limit(5)
        ->select();
    
    // 遍历读取用户数据
    foreach ($users as $user) {
        echo $user->id;
        echo $user->name;
    }

✅ 更新Update

  • Db用法

    Db::table('user')
        ->where('id', 1)
        ->update([
            'name'  => 'topthink',
            'email' => 'topthink@qq.com',
        ]);
  • 模型用法

    $user        = User::get(1);
    $user->name  = 'topthink';
    $user->email = 'topthink@qq.com';
    $user->save();
  • 或者使用

    $user = User::get(1);
    $user->save([
        'name'  => 'topthink',
        'email' => 'topthink@qq.com',
    ]);
  • 静态调用

    User::update([
        'name'  => 'topthink',
        'email' => 'topthink@qq.com',
    ], ['id' => 1]);

✅ 删除Delete

  • Db用法

    Db::table('user')->delete(1);
  • 模型用法

    $user = User::get(1);
    $user->delete();
  • 或者静态实现

    User::destroy(1);
  • 静态调用

    User::update([
        'name'  => 'topthink',
        'email' => 'topthink@qq.com',
    ], ['id' => 1]);
  • destroy方法支持删除指定主键或者查询条件的数据

    // 根据主键删除多个数据
    User::destroy([1, 2, 3]);
    // 指定条件删除数据
    User::destroy([
        'status' => 0,
    ]);
    // 使用闭包条件
    User::destroy(function ($query) {
        $query->where('id', '>', 0)
            ->where('status', 0);
    });

更多模型用法可以参考5.1完全开发手册的模型章节

ohuolo/swoolefy-orm 适用场景与选型建议

ohuolo/swoolefy-orm 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 04 月 29 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ohuolo/swoolefy-orm 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ohuolo/swoolefy-orm 我们能提供哪些服务?
定制开发 / 二次开发

基于 ohuolo/swoolefy-orm 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 19
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 187
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2019-04-29