Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Colunas CONCAT com Laravel 5 eloquente


Você precisa envolver sua consulta em DB::raw :
$comp = Component::select(DB::raw("CONCAT('name','id') AS ID"))->get()

Além disso, observe que, como você está fazendo sua consulta assim, seu modelo pode se comportar de maneira diferente, pois esse select remove todos os outros campos da instrução select. Portanto, você não pode ler os outros campos do seu modelo sem uma nova consulta. Portanto, use isso SOMENTE para LER dados e não para MODIFICAR dados.

Além disso, para torná-lo em uma boa lista, sugiro que você modifique sua consulta para:
$comp = Component::select(DB::raw("CONCAT('name','id') AS display_name"),'id')->get()->pluck('display_name','id');
// dump output to see how it looks.
dd($comp);// array key should be the arrray index, the value the concatted value.