Изменение имени полей при извлечении записи в cakephp 3

#php #cakephp #orm #cakephp-3.0

#php #cakephp #orm #cakephp-3.0

Вопрос:

Я хочу изменить имя поля и при извлечении записи из базы данных, например.

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

Выше приведен мой запрос, и в том же запросе я хочу изменить имя поля «id» на form_id.

Не могли бы вы, ребята, предложить лучшие способы справиться с этим без виртуального поля.

Спасибо

Ответ №1:

вы можете использовать псевдоним, говорится в руководстве

Вы можете установить псевдонимы для полей, предоставив поля в виде ассоциативного массива:

Итак, все, что вам нужно сделать, это:

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