在cakephp 3中获取记录时更改字段名称

I want to change field name and while fetching record from database Ex.

$query = $formsElements->find('all')
            ->where(['Forms.slug' => 'allergy'])
            ->contain(['Forms'=>['fields'=>['id', 'name']], 'Elements']);

Above is my query and in same query i want to change name of "id" field as form_id.

Can you guys please suggest better ways to handle this without virtual field.

Thanks

you can use an alias, the manual says

You can set aliases for fields by providing fields as an associative array:

So all you have to do is:

->contain([
    'Forms'=>[
        'fields'=>[
            'form_id' => 'id',
            'name'
        ]
    ], 
    'Elements'
]);