不得不吐槽模型 where方法

zerodeng 发布于 2014/12/23 10:32
阅读 289
收藏 0

先不说那长长的符号匹配表,使用一个框架本来是要减少开发者的开发时间,我用过CI LARAVEL都没有用贵框架感觉到困难那么大。要吐槽的地方实在是太多,今天就吐槽下where方法。这个where的语法,简直就是爆炸,如果要用官方的数组来做的话,我真的不如直接用sql写好了(要不是为了安全!),因为实在太难接受这个语法了。

像laravel 的db库处理where方法。即使我没有对该框架有过深的理解,我也很容易的理解到

$users = DB::table('users')
                    ->where('votes', '>', 100)
                    ->orWhere('name', 'John')
                    ->get();

这个是什么意思。
THINKPHP呢?

$user->where(array('vote'=>array('GT',100),'name'=>'John','_logic'=>'or'))->select();  


//没写错吧,几百个括号在里面,连IDE自动匹配括号都不好处理了。

我TM还去看了下大于号是用哪个匹配符,简直感人,我就不说多个or where的时候语法有多感人了,简直就是爆炸。我在开发的时候只要遇到数据库交互的时候,我都十分犹豫要不要使用官方的方法,这真是大大的影响到了我的开发的兴致。



加载中
0
zerodeng
zerodeng
我在官网发提问还一直提示我说非法内容!我也真是醉了,哪里非法你也得说清楚啊!我提交了5遍!都是非法!
0
雪梨苹果
雪梨苹果
的确是简单复杂化了的功能,像CI一样把这些精力放在插件上开发就好了。
0
流年
流年
官网严格按照 网监部门提供的关键词过滤,我们也没办法。至于TP的ORM,有利有弊,采用数组的方式只有在多条件查询的时候才会有优势,单个查询条件没法同比。
slince91
slince91
tp没有orm 就是个dao
zerodeng
zerodeng
很高兴能得到TP官方的答复
0
是你的肉肉
是你的肉肉
人家是个轻量级的框架,你非要寄予厚望,这就是你的不对了,而且查询条件复杂的时候,是不是应该写在外面:
$where =  array(
    'vote'    => array('GT',100),
    'name'  => 'John',
    '_logic'  => 'or'
);
0
zerodeng
zerodeng

引用来自“是你的肉肉”的评论

人家是个轻量级的框架,你非要寄予厚望,这就是你的不对了,而且查询条件复杂的时候,是不是应该写在外面:
$where =  array(
    'vote'    => array('GT',100),
    'name'  => 'John',
    '_logic'  => 'or'
);
1.这个where的处理方案的确不好,毕竟至少我就非常不认同这个方案。只要对比过别人的方案,就看出易用程度了。这和框架大小有联系?我只是讨论TP的这个解决方案有待曾酌。
2.我没有对TP赋予厚望,如果是我来部署这个系统的话,我更多的会选择laravel、CI或者尝试YAF。只不过现在系统使用这个框架,开始学习使用而已。
3.对于$where的问题,好吧。这是我随便写上去的,的确没有考虑到读代码的人的感受。或者换句话说,我就是喜欢写在里面,因为任性!
返回顶部
顶部