Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Hintergrund zur Gruppierung basierend auf demselben Datum

PHP-Hintergrund zur Gruppierung basierend auf demselben Datum

不言
不言Original
2018-04-16 16:00:432079Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Gruppierung nach demselben Datum im PHP-Hintergrund. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen

接口中发现需要需要将每天(及时Unix时间不同),因为unix时间不同,需要将这个时间转成年月日这样,然后作为条件来查询这一天直播的历史数据。然后去这一天所有的数据,技术遇到的问题是,如何将这一天的数据放在一起,用sql分组不可以,因为uninx时间是不同的。所以我采用了函数循环比例进行分组。
    **没进行分组的代码**
public function merchants_dynamic()
    {        
    if ($params = Request::instance()->isPost()) {            
    $p = empty($params["p"]) ? 1 :$params["p"];            
    $pageSize = empty($params["pagesize"]) ? 20 : $params["pagesize"];            
    $merchants_id = input('merchants_id');//商家商户id
            if (!$merchants_id) error("商户店铺id不能为空");            
            $list = Db::name('live_store')->alias("a")
                    ->field("a.live_store_id,d.share,d.watch_nums,d.end_time,b.title,b.apply_id,b.cover_img,b.class_id,c.business_img,c.company_name")
                    ->join("apply b",'a.room_id=b.room_id')
                    ->join("merchants c","b.merchants_id=c.gl_merchants_id")
                    ->join("live d","d.live_id=a.live_id")
                    ->where(['c.gl_merchants_id'=>$merchants_id])
                    ->limit(($p-1)*$pageSize,$pageSize)
                    ->select();
            foreach ($list as $k=>$v){
                $list[$k]['tag']=Db::name('live_class')->where(['live_class_id'=>$v['class_id']])->value('tag');
                $list[$k]['end_time'] = date("Y-m-d",$v['end_time']);
            }            if($list){
                $data = $list;
            }else{
                $data = [];
            }           return success($data);
         }
    }
**这里没分组的结果**
{    "status": "ok",    "data": [
        {            
        "live_store_id": "1",            
        "share": "0",            
        "watch_nums": "0",            
        "end_time": "2018-04-12",            
        "title": "测试开发",            
        "apply_id": "35",            
        "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",            
        "class_id": "6",            "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",            
        "company_name": "金帅集团2",            
        "tag": "直播售卖"
        },
        {            
        "live_store_id": "2",           
         "share": "0",            
         "watch_nums": "0",            
         "end_time": "2018-04-13",            
         "title": "测试开发",            
         "apply_id": "35",            
         "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",           
          "class_id": "6",            "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",           
           "company_name": "金帅集团2",            
           "tag": "直播售卖"
        },
        {           
         "live_store_id": "1",            
         "share": "0",            
         "watch_nums": "0",            
         "end_time": "2018-04-12",            
         "title": "测试开发",            
         "apply_id": "35",            
         "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",            
         "class_id": "6",            
         "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",            
         "company_name": "王氏帝国2",            
         "tag": "直播售卖"
        },
        {            
        "live_store_id": "2",            
        "share": "0",            
        "watch_nums": "0",            
        "end_time": "2018-04-13",            
        "title": "测试开发",            
        "apply_id": "35",            
        "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",            
        "class_id": "6",            
        "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",            
        "company_name": "王氏帝国2",            
        "tag": "直播售卖"
        }
    ]
}


Hier sind sie nach Endzeit gruppiert und die Daten desselben Tages sind gruppiert. Das Code-Snippet

Hier ist das Ergebnis
public function merchants_dynamic()
    {
        if ($params = Request::instance()->isPost()) {            
        $p = empty($params["p"]) ? 1 :$params["p"];            
        $pageSize = empty($params["pagesize"]) ? 20 : $params["pagesize"];            
        $merchants_id = input('merchants_id');//商家商户id
            if (!$merchants_id) error("商户店铺id不能为空");            
            $list = Db::name('live_store')->alias("a")
                    ->field("a.live_store_id,d.share,d.watch_nums,d.end_time,b.title,b.apply_id,b.cover_img,b.class_id,c.business_img,c.company_name")
                    ->join("apply b",'a.room_id=b.room_id')
                    ->join("merchants c","b.merchants_id=c.gl_merchants_id")
                    ->join("live d","d.live_id=a.live_id")
                    ->where(['c.gl_merchants_id'=>$merchants_id])
                    ->limit(($p-1)*$pageSize,$pageSize)
                    ->select();            
                    foreach ($list as $k=>$v){                
                    $list[$k]['tag']=Db::name('live_class')->where(['live_class_id'=>$v['class_id']])->value('tag');                
                    $list[$k]['end_time'] = date("Y-m-d",$v['end_time']);
            }            $res = array();            
            foreach ($list as $key=>$val){                
            $res[$val['end_time']][] = $val;
            }            
            $re = [];            
            foreach ($res as $ke=>$va){                
            $re[]['time'] = $ke;                
            foreach ($re as $a=>$v){                    
            $re[$a]['list'] = $va;
                }
            }           
             if($list){                
             $data = $re;
            }else{                
            $data = [];
            }           
            return success($data);
         }
    }

ENDE

{
    "status": "ok",
    "data": [
        {
            "time": "2018-04-12",
            "list": [
                {
                    "live_store_id": "2",
                    "share": "0",
                    "watch_nums": "0",
                    "end_time": "2018-04-13",
                    "title": "测试开发",
                    "apply_id": "35",
                    "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",
                    "class_id": "6",
                    "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",
                    "company_name": "金帅集团2",
                    "tag": "直播售卖"
                },
                {
                    "live_store_id": "2",
                    "share": "0",
                    "watch_nums": "0",
                    "end_time": "2018-04-13",
                    "title": "测试开发",
                    "apply_id": "35",
                    "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",
                    "class_id": "6",
                    "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",
                    "company_name": "王氏帝国2",
                    "tag": "直播售卖"
                }
            ]        },
        {
            "time": "2018-04-13",
            "list": [
                {
                    "live_store_id": "2",
                    "share": "0",
                    "watch_nums": "0",
                    "end_time": "2018-04-13",
                    "title": "测试开发",
                    "apply_id": "35",
                    "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",
                    "class_id": "6",
                    "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",
                    "company_name": "金帅集团2",
                    "tag": "直播售卖"
                },
                {
                    "live_store_id": "2",
                    "share": "0",
                    "watch_nums": "0",
                    "end_time": "2018-04-13",
                    "title": "测试开发",
                    "apply_id": "35",
                    "cover_img": "http://test.tstmobile.com/uploads//image/banner/20180412/37592d087ae79a103cea4417e77b6ddf.jpg",
                    "class_id": "6",
                    "business_img": "http://test.tstmobile.com/uploads/image/20171227/a7de424d12f4fdd77de7f6f9a35a8c48.jpg",
                    "company_name": "王氏帝国2",
                    "tag": "直播售卖"
                }
            ]        }
    ]}
Verwandte Empfehlungen:

So implementieren Sie den PHP-Hintergrunddaemon in einer Linux-Umgebung

So implementieren Sie den PHP-Hintergrund des WeChat-Miniprogramms

Das obige ist der detaillierte Inhalt vonPHP-Hintergrund zur Gruppierung basierend auf demselben Datum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Neue Funktionen von PHP7.2Nächster Artikel:Neue Funktionen von PHP7.2