如何简化这段代码

浏览:462 发布日期:2016/01/06 分类:求助交流 关键字: 简化代码 问题求助
$data  = $this->model('article')
            ->field([
                'os_article.id' => 'id',
                'os_article.title' => 'title',
                'os_cate.name' => 'cate',
                'os_article.time' => 'time',
                'count(os_comments.id)' => 'comment'
            ])
            ->join('__COMMENTS__ ON __ARTICLE__.id = __COMMENTS__.aid','LEFT')
            ->join('__CATE__ ON __ARTICLE__.cid = __CATE__.id','LEFT')
            ->group('os_article.id')
            ->fetchSql(false)
            ->select();
使用join语句后 如何可以使field语句内获取字段的地方变得更加智能呢?
不希望手动填写表前缀,本地跟线上的数据表前缀是不同的。
难不成得用 C方法获取表字段然后一个一个的加上去?
难不成得这么做?$prefix = C('database.prefix');
        $data  = $this->model('article')
            ->field([
                $prefix.'article.id' => 'id',
                $prefix.'article.title' => 'title',
                $prefix.'cate.name' => 'cate',
                $prefix.'article.time' => 'time',
                'count('.$prefix.'comments.id)' => 'comment'
            ])
            ->join('__COMMENTS__ ON __ARTICLE__.id = __COMMENTS__.aid','LEFT')
            ->join('__CATE__ ON __ARTICLE__.cid = __CATE__.id','LEFT')
            ->group($prefix.'article.id')
            ->fetchSql(false)
            ->select();
这样感觉也是很麻烦啊,能不能也想join方法里面的 用 __TABLE_NAME__来定义呢?
最佳答案
评论( 相关
后面还有条评论,点击查看>>