$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__来定义呢? 最佳答案