前缀 mysql select

Prefix mysql select

如何为我的 select 语句添加前缀?

目前我有这个:

 return $this->hasMany(Score::class)
            ->select('id', 'port_id', 'criteria', DB::raw('AVG(score) as score'), DB::raw('count(score) as votes'))
            ->groupBy('port_id', 'criteria');

selected criteria 的前缀应为 score_

我该怎么做?

当前结果是:

1 1298 wifi 34 12
1 1298 animal_friendly 34 23
1 1298 adult_friendly 34 25

应该是:

1 1298 score_wifi 34 12
1 1298 score_animal_friendly 34 23
1 1298 score_adult_friendly 34 25

您可以使用 concat 将数据连接到值。使用左侧作为前缀。

concat('score_', criteria)

http://sqlfiddle.com/#!9/d69e87/1

看起来在 Larval 中应该写成:

DB::raw("concat('score_', criteria) as criteria")