
在 v2 很多帖子都可以看到,Laravel 和 Rails 的 ORM 几乎是大家公认最好用的 ORM ,Sutando 就是他们在 Node.js 里的 “复刻版”,如果你之前用过 Laravel ,那你使用 Sutando 几乎没有学习成本,因为它们的使用起来几乎相同 (功能实现了 80%+)。
地址: https://github.com/sutandojs/sutando
文档: https://sutando.org/a>
npm install sutando mysql2 --save const { sutando, Model } = require('sutando'); // 连接信息 sutando.addConnection({ client: 'mysql2', connection: { host : '127.0.0.1', port : 3306, user : 'root', password : '', database : 'test' }, }); const db = sutando.connection(); // 查询构造器 const users = await db.table('users').where('age', '>', 35).get(); // 模型定义 class User extends Model {} // 查询 const users = await User.query().where('age', '>', 35).get(); // 新增 const user = new User; user.name = 'David Bowie'; await user.save(); // 删除 await user.delete(); // 分页 const users = await User.query().paginate(1, 15); // 关联预加载 const users = await User.query().with('posts').get(); // 关联条件 const users = await User.query().with({ posts: q => q.where('likes_count', '>', 100) }).get(); // 关联延迟加载 await user.load('posts'); await users.load('posts'); 最后:Welcome Star, PR and Issues !
1 SayHelloHi 2024 年 1 月 4 日 很棒 文档很完善 |
2 luckrnx09 2024 年 1 月 4 日 厉害了。前不久看到 https://github.com/drizzle-team/drizzle-orm ,感觉楼主写的这个跟它有点像。 |
3 0x723b 2024 年 1 月 4 日 可以看看 kysely ,用起来比 knex 舒服很多 |
4 0x723b 2024 年 1 月 4 日 |
5 XCFOX 2024 年 1 月 4 日 我来给泼个冷水 2024 年了居然还没有 TypeScript Declaretions 你可以不用 TypeScript 但不能没有 Declaretions |
6 colliedog 2024 年 1 月 4 日 prisma 不香吗? |
7 zhengfan2016 2024 年 1 月 4 日 @colliedog 要是能把 prisma 复刻到 PHP 那边就好了哈哈, |
8 Leviathann 2024 年 1 月 4 日 where('age', '>', 35) 幽默,这种 api ,拿头跟别人 full type safe 的 api 比 写 query 一路 ctrl + space 下去就行了 |
9 kiddyu OP @SayHelloHi 谢谢,因为用法一样,文档直接 copy 的 Laravel :D |
12 kiddyu OP @colliedog 大部分时候还是香的,就是之前在用 prisma 的时候,有几个地方因为功能不支持,需要自己手写 SQL ,就是因为这个才写了 Sutando |
13 kiddyu OP @Leviathann 楼上提到的 kysely 也是 type safe ,也是这种 api ,这个没什么吧 |
14 fds 2024 年 1 月 5 日 哇,厉害,行动力真强。 |
15 yafoo 2024 年 1 月 5 日 via Android 我觉得 thinkphp3.2 的 orm 挺好的,复刻了一部分到我的项目 jj.js |
16 treblex 2024 年 1 月 6 日 via iPhone @Leviathann django 那个可好玩了 age__gt 这样子传 |
17 zbowen66 2024 年 1 月 7 日 支持 edge runtime 吗? prisma 的官方代理一言难尽... |
19 kiddyu OP @luckrnx09 drizzle-orm 现在很火啊,只是国内好像很少人提。其实我感觉 drizzle-orm 更像个查询构建器而不是 ORM 。 |