Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mendapatkan catatan jika Hitungan nol di Laravel

MySQL tidak akan mengisi bulan-bulan yang tidak tersedia, ia hanya akan mengelompokkan berdasarkan apa yang Anda miliki dan kemudian memberikan hasil tersebut kepada Anda.

Yang dapat Anda lakukan adalah menggunakan DatePeriod dan Collection Laravel kelas:

$results = DB::table('bookings')
    ->selectRaw("DATE_FORMAT(created_At,'%Y-%m-01') as monthNum, count(*) as totalbook")
    ->orderBy('monthNum')
    ->groupBy('monthNum')
    ->get();

$results = collect($results)->keyBy('monthNum')->map(function ($item) {
    $item->monthNum = \Carbon\Carbon::parse($item->monthNum);

    return $item;
});

$periods = new DatePeriod($results->min('monthNum'), \Carbon\CarbonInterval::month(), $results->max('monthNum')->addMonth());

$graph = array_map(function ($period) use ($results) {

    $month = $period->format('Y-m-d');

    return (object)[
        'monthNum'  => $period->format('M Y'),
        'totalbook' => $results->has($month) ? $results->get($month)->totalbook : 0,
    ];

}, iterator_to_array($periods));

Harap dicatat saya telah memperbarui monthNum dalam kueri karena akan diformat ulang nanti.

Selain itu, Anda harus menggunakan tag mentah blade ({!! !!} ) untuk ini sebagai {{ $dat->totalbook }} harus bekerja dengan baik.

Semoga ini bisa membantu!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optimalkan panggilan data di JDBC ke JTable

  2. Bagaimana cara menangani Kesalahan Kunci Asing MySQL di Php?

  3. php termasuk kesalahan tidak menemukan jalan

  4. TAMBAHKAN () Contoh – MySQL

  5. Bagaimana cara mengoptimalkan kueri MYSQL EAV yang rumit ini?