Rumah >rangka kerja php >Laravel >laravel sum keadaan berbeza

laravel sum keadaan berbeza

PHPz
PHPzasal
2023-05-26 13:39:091018semak imbas

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan banyak fungsi dan sintaks yang mudah untuk meningkatkan kecekapan pembangunan. Antaranya, fungsi jumlah adalah fungsi yang sangat biasa digunakan dalam Laravel, yang boleh menjumlahkan nilai dalam satu set. Tetapi dalam pembangunan sebenar, kita kadang-kadang perlu melakukan penjumlahan di bawah keadaan yang berbeza Bagaimana kita harus menangani perkara ini? Artikel ini akan memperkenalkan cara Laravel melaksanakan operasi jumlah dalam keadaan yang berbeza.

1. Operasi jumlah dalam kes mudah

Dalam Laravel, kita boleh melakukan operasi jumlah dengan mudah pada koleksi, cuma panggil fungsi jumlah. Contohnya, untuk menjumlahkan tatasusunan:

$sum = collect([1, 2, 3, 4, 5])->sum();

Dalam contoh ini, nilai $sum ialah 15, iaitu hasil tambah 1+2+3+4+5.

Begitu juga, jika kita mempunyai tatasusunan objek dan ingin menjumlahkan atribut tertentu di dalamnya, kita boleh melakukan ini:

$sum = collect([
    ['name' => 'Alice', 'score' => 80],
    ['name' => 'Bob', 'score' => 90],
    ['name' => 'Charlie', 'score' => 70]
])->sum('score');

Dalam contoh ini, nilai $sum ialah 240, Itu ialah hasil tambah 80+90+70.

2. Operasi jumlah bersyarat

Dalam pembangunan sebenar, kita selalunya perlu melakukan operasi jumlah dalam keadaan yang berbeza, kita perlu menggunakan fungsi where dalam Laravel. Fungsi where boleh menapis nilai dalam koleksi berdasarkan syarat yang ditentukan. Sebagai contoh, kami mempunyai susunan pengguna Setiap pengguna mempunyai dua atribut: nama dan umur Jika kami ingin mengira jumlah umur semua pengguna yang berumur lebih daripada 18 tahun, kami boleh melakukan ini:

$users = collect([
    ['name' => 'Alice', 'age' => 20],
    ['name' => 'Bob', 'age' => 16],
    ['name' => 'Charlie', 'age' => 25]
]);

$sum = $user->where('age', '>', 18)->sum('age');
Dalam contoh ini, $ Nilai jumlah ialah 45, iaitu hasil tambah 20+25.

Begitu juga, jika kami mempunyai tatasusunan pesanan, setiap pesanan mempunyai atribut status dan kami ingin mengira jumlah amaun semua pesanan yang lengkap, kami boleh melakukan ini:

$orders = collect([
    ['id' => 1, 'status' => 'created', 'amount' => 10],
    ['id' => 2, 'status' => 'completed', 'amount' => 20],
    ['id' => 3, 'status' => 'cancelled', 'amount' => 30],
    ['id' => 4, 'status' => 'completed', 'amount' => 40]
]);

$sum = $orders->where('status', 'completed')->sum('amount');

Contoh ini, nilai $sum ialah 60, iaitu hasil tambah 20+40.

3. Jumlah berdasarkan berbilang syarat

Kadangkala, kita perlu melakukan operasi jumlah berdasarkan berbilang syarat. Ini boleh dicapai dengan menggunakan panggilan berantai bagi fungsi where dalam Laravel. Sebagai contoh, kami mempunyai tatasusunan pengguna Setiap pengguna mempunyai tiga atribut: nama, umur dan wilayah Jika kami ingin mengira jumlah umur semua pengguna yang berada di Beijing dan berumur lebih daripada 18 tahun, kami boleh. lakukan ini:

$users = collect([
    ['name' => 'Alice', 'age' => 20, 'area' => 'Beijing'],
    ['name' => 'Bob', 'age' => 16, 'area' => 'Shanghai'],
    ['name' => 'Charlie', 'age' => 25, 'area' => 'Beijing']
]);

$sum = $user->where('age', '>', 18)->where('area', 'Beijing')->sum('age');

Dalam contoh ini, nilai $sum ialah 20, iaitu umur Alice.

Begitu juga, jika kami mempunyai tatasusunan pesanan, setiap pesanan mempunyai atribut status dan atribut tarikh, dan ingin mengira jumlah amaun pesanan selepas 1 Januari 2019 dalam semua pesanan yang lengkap, Anda boleh lakukan ia seperti ini:

$orders = collect([
    ['id' => 1, 'status' => 'created', 'amount' => 10, 'date' => '2019-01-01'],
    ['id' => 2, 'status' => 'completed', 'amount' => 20, 'date' => '2019-01-05'],
    ['id' => 3, 'status' => 'cancelled', 'amount' => 30, 'date' => '2018-12-31'],
    ['id' => 4, 'status' => 'completed', 'amount' => 40, 'date' => '2019-02-01']
]);

$sum = $orders->where('status', 'completed')->where('date', '>', '2019-01-01')->sum('amount');

Dalam contoh ini, nilai $sum ialah 20, iaitu jumlah pesanan kedua.

Ringkasnya, fungsi jumlah Laravel dan fungsinya sangat mudah dan praktikal, serta boleh membantu kami menyelesaikan operasi jumlah bersyarat dengan cepat. Dalam pembangunan sebenar, kita boleh menggunakan fungsi ini secara fleksibel mengikut keperluan yang berbeza untuk meningkatkan kecekapan pembangunan.

Atas ialah kandungan terperinci laravel sum keadaan berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:di manakah model laravelArtikel seterusnya:di manakah model laravel