yii2 AvtiveRecord find asArray() - Получение данных в виде массива - список id сразу при запросе (одномерный) -- пример кода

Пример функции:

    /**
     * Получит массив id клиентов данного пользователя
     * 
     * @param array  массив id
     */
    public static function getClientsIdsOfThisUser($userId)
    {
        Client::find()->select('id')
            ->where(['user_id' => $userId])->asArray()->all();
    }

На самом деле такой пример вернёт двумерный массив -- в каждом подмасссиве будет только один элемент, чтобы же получить просто список (одномерный массив) придётся дополнительно обходить результат работы ActiveRecord, то есть сделать что-то вроде:


    public static function getClientsIdsOfThisUser($userId)
    {
        $result = [];
        $filedName = 'id';
        $twoDemisArray =  Client::find()->select('id')
            ->where(['user_id' => $userId])->asArray()->all();
        
        foreach ($twoDemisArray as $key => $val) {
            $result[] = $val[$filedName];
        }
        
        return $result;
    }

Если же данные уже извлечены как объекты и/или требуется более сложный алгоритм построения массива, то см. сюда
.