@hollanditkzn

Как можно еще ускорить запросы?

После изучение тем по оптимизации данных, я столкнулся с тем что Active Record довольно сильно снижает производительность приложения. И сказано, что если нужно просто получить данные, без последующего их изменения, то просто добавьте ->asArray. То тогда получается что нужно добавить еще много кода, допустим как указано в этом примере fkn.ktu10.com/?q=node/8183
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;
}

То нужно добавлять для каждых данных foreah. Это когда примерно разумно и когда не стоит его реально использовать?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@iSensetivity
бухгалтер, програміст-самоук
$twoDemisArray =  Client::find()->select('id')
        ->where(['user_id' => $userId])->asArray()->all();
$result = ArrayHelper::getColumn($twoDemisArray, 'id');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы