PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > 工作总结

Yii统计不同类型邮箱数量的方法

管理员 2025-03-26
工作总结
38

下面我将介绍几种在Yii框架中统计不同类型邮箱数量的方法,包括数据库查询和PHP处理两种方式。

方法一:使用SQL查询直接统计

1. 模型方法实现

php
复制
// models/User.phpnamespace app\models;use yii\db\ActiveRecord;class User extends ActiveRecord{
    // 获取不同类型邮箱的统计
    public static function getEmailTypeStats()
    {
        return static::find()
            ->select([
                'email_type' => 'SUBSTRING_INDEX(email, "@", -1)',
                'count' => 'COUNT(*)'
            ])
            ->groupBy('email_type')
            ->orderBy(['count' => SORT_DESC])
            ->asArray()
            ->all();
    }
    
    // 或者更精确的邮箱域名提取
    public static function getEmailDomainStats()
    {
        return static::find()
            ->select([
                'domain' => 'SUBSTRING(email, LOCATE("@", email) + 1)',
                'count' => 'COUNT(*)'
            ])
            ->where(['IS NOT', 'email', null])
            ->andWhere(['<>', 'email', ''])
            ->groupBy('domain')
            ->orderBy(['count' => SORT_DESC])
            ->asArray()
            ->all();
    }}

2. 控制器调用

php
复制
// controllers/UserController.phppublic function actionEmailStats(){
    $stats = User::getEmailTypeStats();
    
    return $this->render('email-stats', [
        'stats' => $stats
    ]);}



本文关键词: Yii 统计 同类型 邮箱 数量 方法

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部