Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Laravel - डेटाबेस से लापता तिथियों और गणनाओं को भरें

इस समाधान ने मेरे लिए काम किया, मैंने पहली बार समय सीमा में सभी तिथियों के साथ एक सरणी बनाई, तारीखों को कुंजी के रूप में सेट किया गया और मानों को 0 के रूप में सेट किया गया, और फिर डीबी में क्वेरी के बाद मानों को बदल दिया गया, उसी सरणी में गिनती के साथ क्वेरी से मान:

$period = new DatePeriod( new DateTime($from), new DateInterval('P1D'), new DateTime($to));
      $dbData = [];

      foreach($period as $date){
          $range[$date->format("Y-m-d")] = 0;
      }

      $data = DB::table($request['option'])
                ->select(DB::raw('DATE(created_at) as time'), DB::raw('count(*) as count'))
                ->whereDate('created_at', '>=', date($from).' 00:00:00')
                ->whereDate('created_at', '<=', date($to).' 00:00:00')
                ->groupBy('time')
                ->get();

      foreach($data as $val){
        $dbData[$val->time] = $val->count;
      }

      $data = array_replace($range, $dbData);
    }

    return json_encode($data);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql आप क्लस्टर्ड इंडेक्स कैसे बनाते हैं?

  2. jsp jstl sql अजीब व्यवहार जैसा कि mysql . में है

  3. कुबेरनेट्स पॉड में mysql डेटा आयात करें

  4. Mysql - वांछित परिणाम प्राप्त करने के लिए इस खोज क्वेरी को बदलने में मेरी सहायता करें

  5. MySQL त्रुटि देने वाली विदेशी कुंजी के साथ टेबल बनाना:150