请教大家一个 ORM 代码抽离的问题

原来在service层的这段代码,想把Test表的sql抽离到model层,怎么做比较好? (type后面的’.’是打错了)

我是这么写的,不知道对不对
service层

model层

houmuxu
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

先改造一下代码,把if换成when()吧 还有这个是什么玩意?

file

3年前 评论
houmuxu (楼主) 3年前

model层不能写任何查询代码;即使要写也只能新加一层里面写。 request不能在service里面出现,request是请求层的代码;不能侵入。

3年前 评论
houmuxu (楼主) 3年前

file User $user可以依赖注入,参数最好加个isset判断

3年前 评论

很明显属于过度封装,违法面向对象特性 -- 封装,model 掺杂业务逻辑,方法复用性不高,随着业务复杂性增加,类似这样的方法会增加

3年前 评论
王成涛 (作者) 3年前
s51983 3年前
xiaopi 3年前
乘风破浪 3年前

小白弱弱的说,感觉完全没必要那么封装。。。。。model里别放具体业务查询了吧(除非特别公用的.....
感觉不仅没抽离,还越来越混乱了呢......

3年前 评论
houmuxu (楼主) 3年前

file
(个人讨厌的写法 同事也跟我抱怨过 为什么写这么多余代码(封装))


抽离的话,可以考虑下apiato (单人开发最好别碰)。

route -> controller -> action -> task -> repository -> model | criterias -> transformers
……

还是 mvc 香,简单。

(单人开发,随便怎么封装都可以)
封装可以参考下:基于教程实现的一个简单网站实例

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!