[top-think/think]建议增加数据库返回结果为以主键为下标的数组方法

2023-12-15 74 views
5

tp3.2.3可以使用 D('User')->select(array('index'=>'id')); 但是TP5始终没有这种方法 column可以解决简单的需求,构建一个主键下标的一维数组,但无法构建二维数组 真诚建议增加此方法,可以不是select(array('index'=>'id'));这个形式,因为现在select里的数组是作为where来查询的。 同时建议将数据库事务、DB中的方法(但助手函数中没有的),增加到db()这个助手函数中去, 就是增强db()助手函数。 db()在小项目中真的比使用Model类要方便的多。

回答

1

column完全可以满足你的要求 Db中的所有方法db助手函数都可以支持

0

@liu21st 我没有找到如何使用column完成这个需求的方法,开发手册里也没有。如果有,请明示~~ 开发手册对于column和value 是这样介绍的

注意value和column方法返回的不再是一个模型对象实例,而是单纯的值或者某个列的数组。 但现在这个需求是所有列的数组,以主键为下标

至于另一个问题 db()是不支持所有的Model方法的, allowField方法是没有的,而且使用db()无法使用事务操作,如果能,也请明示,谢谢了大神~ PS:issue关的也太快了吧……问题还木有解决

8

Db::table('think_user')->where('status',1)->column('*','id'); 找到了 我真是眼瞎。。。(手动笑哭) 那model类的事务操作 可以用助手函数model()完成吗? 谢谢!