Можно ли поменять имя столбца базы данных, при выводе через REST?

Да, в рамках фреймворка Yii можно изменить имя столбца базы данных при выводе через REST.

Фреймворк Yii предлагает несколько способов для работы с REST API, в том числе использование класса ActiveController.

Для изменения имени столбца базы данных можно воспользоваться методом behaviors класса ActiveController. С помощью метода behaviors можно задать пользовательские правила для формирования имени столбца при выводе данных.

В качестве примера, допустим, у нас есть модель "User" с полем "first_name", но мы хотим, чтобы при выводе через REST API это поле называлось "firstName" без подчеркивания. В таком случае, мы можем создать свой собственный класс-поведение и задать правила для формирования имени столбца.

Сначала создадим класс-поведение, например, "CustomNameBehavior", который наследуется от класса yiibaseBehavior:

namespace appbehaviors;

use yiibaseBehavior;
use yiidbActiveRecord;

class CustomNameBehavior extends Behavior
{
    public $attributeMapping;

    public function events()
    {
        return [
            ActiveRecord::EVENT_AFTER_FIND => 'afterFind',
            ActiveRecord::EVENT_BEFORE_INSERT => 'beforeInsert',
            ActiveRecord::EVENT_BEFORE_UPDATE => 'beforeUpdate',
        ];
    }

    public function afterFind($event)
    {
        /** @var ActiveRecord $model */
        $model = $event->sender;
        $attributes = $model->getAttributes();

        foreach ($this->attributeMapping as $attribute => $newName) {
            if (array_key_exists($attribute, $attributes)) {
                $model->{$newName} = $model->{$attribute};
                unset($model->{$attribute});
            }
        }
    }

    public function beforeInsert($event)
    {
        $this->applyAttributeMapping($event->sender);
    }

    public function beforeUpdate($event)
    {
        $this->applyAttributeMapping($event->sender);
    }

    private function applyAttributeMapping(ActiveRecord $model)
    {
        $attributes = $model->getAttributes();

        foreach ($this->attributeMapping as $attribute => $newName) {
            if (array_key_exists($newName, $attributes)) {
                $model->{$attribute} = $model->{$newName};
                unset($model->{$newName});
            }
        }
    }
}

Затем добавим это поведение в контроллер, например, UserController:

use appbehaviorsCustomNameBehavior;

class UserController extends ActiveController
{
    public $modelClass = 'appmodelsUser';

    public function behaviors()
    {
        return ArrayHelper::merge(parent::behaviors(), [
            'customNameBehavior' => [
                'class' => CustomNameBehavior::className(),
                'attributeMapping' => [
                    'first_name' => 'firstName',
                ],
            ],
        ]);
    }
}

Теперь, при использовании UserController, поле "first_name" будет называться "firstName" при выводе через REST API.

Надеюсь, это поможет вам изменить имя столбца базы данных при выводе через REST в рамках фреймворка Yii.