如何在选择语句中添加前缀?

目前我有这个:

 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');


所选的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")

10-07 18:03