Yii 2.0查询生成器-选择文本作为列(不带抑音符/反勾号/反引号)

gkl3eglg  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(91)
  • 问了一个问题,我花了过去2个小时在互联网上搜索,但无法得到一个解决方案,但最终找到了一个解决方案,所以我会在这里张贴的答案,为未来的用户。*

如果我在使用Yii的查询生成器,但想将一列设置为预定义的文本字符串而不是列本身,当您在select语句中使用单引号时会发生这种情况,所以这对我的日期格式和'All Sites'列都是一个问题。

$query = Department::find()
  ->alias('d')
  ->select("user_name, count(department) as departments, DATE_FORMAT(join_date, '%Y-%m') as join_date 'All Sites'")
  ->createCommand()
  ->getRawSql();

这将返回:

Select user_name, count(department) as departments, DATE_FORMAT(join_date, `'%Y-%m')` AS `join_date` `'All Sites'` 
from `department_table` `d`

那么我如何转义'All Sites'字符串和正则表达式,这样Yii就不会添加引号了

tyky79it

tyky79it1#

我发现date_format的解决方案对文本字符串不起作用,因此我给出了两种不同的转义反引号的方法,希望这两种方法都能对你有所帮助。

  • 请注意,要使用表达式,必须包括:*

第一个
这将输出以下查询:

Select  username, count(department) as department, DATE_FORMAT(join_date, '%Y-%m') as join_date, 'All Sites'
    FROM `department_table` `d`

相关问题