laravel 합계 다른 조건

PHPz
풀어 주다: 2023-05-26 13:39:09
원래의
979명이 탐색했습니다.

Laravel은 개발 효율성을 향상시키기 위해 다양한 편리한 기능과 구문을 제공하는 인기 있는 PHP 개발 프레임워크입니다. 그 중 sum 함수는 Laravel에서 매우 흔히 사용되는 함수로, 집합의 값을 합할 수 있습니다. 그런데 실제 개발에서는 때로는 다른 조건에서 합산을 수행해야 하는 경우가 있습니다. 이를 어떻게 처리해야 할까요? 이 기사에서는 Laravel이 다양한 조건에서 합계 연산을 수행하는 방법을 소개합니다.

1. 간단한 경우의 합계 연산

Laravel에서는 sum 함수만 호출하면 쉽게 컬렉션에 대한 합계 연산을 수행할 수 있습니다. 예를 들어 배열을 합산하면 다음과 같습니다.

$sum = collect([1, 2, 3, 4, 5])->sum();
로그인 후 복사

이 예에서 $sum 값은 15이며 이는 1+2+3+4+5의 합계입니다.

마찬가지로 객체 배열이 있고 그 안의 특정 속성을 합산하려는 경우 다음과 같이 할 수 있습니다.

$sum = collect([
    ['name' => 'Alice', 'score' => 80],
    ['name' => 'Bob', 'score' => 90],
    ['name' => 'Charlie', 'score' => 70]
])->sum('score');
로그인 후 복사

이 예에서 $sum 값은 240이며 이는 80+90+의 합입니다. 70.

2. 조건부 합 연산

실제 개발에서는 다양한 조건에서 합 연산을 수행해야 하는 경우가 많습니다. 이 경우 Laravel의 where 함수를 사용해야 합니다. where 함수는 지정된 조건에 따라 컬렉션의 값을 필터링할 수 있습니다. 예를 들어, 사용자 배열이 있습니다. 각 사용자에는 이름과 나이라는 두 가지 속성이 있습니다. 18세 이상인 모든 사용자의 연령 합계를 계산하려면 다음과 같이 할 수 있습니다.

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

$sum = $user->where('age', '>', 18)->sum('age');
로그인 후 복사

이 예에서는 , $sum의 값은 45이며 이는 20+25의 합입니다.

마찬가지로, 주문 배열이 있는 경우 각 주문에는 상태 속성이 있으며, 완료된 모든 주문 금액의 합계를 계산하려면 다음과 같이 할 수 있습니다.

$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');
로그인 후 복사

이 예에서 $ 값은 합은 60 , 즉 20+40의 합입니다.

3. 여러 조건에 따른 합산

때로는 여러 조건에 따른 합산 연산을 수행해야 할 때가 있습니다. 이는 Laravel에서 where 함수의 체인 호출을 사용하여 달성할 수 있습니다. 예를 들어, 사용자 배열이 있습니다. 각 사용자에는 이름, 나이, 지역이라는 세 가지 속성이 있습니다. 베이징에 있고 18세 이상인 모든 사용자의 나이 합계를 계산하려면 다음을 수행합니다. 이렇게 하세요:

$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');
로그인 후 복사

이 예에서 $sum의 값은 Alice의 나이인 20입니다.

마찬가지로 주문 배열이 있는 경우 각 주문에는 상태 속성과 날짜 속성이 있으며, 완료된 모든 주문에서 2019년 1월 1일 이후의 주문 금액 합계를 계산하려면 다음과 같이 할 수 있습니다.

$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');
로그인 후 복사

이 예에서 $sum의 값은 두 번째 주문 금액인 20입니다.

요약하자면 Laravel의 sum 함수와 where 함수는 매우 편리하고 실용적이며 조건부 합 연산을 빠르게 완료하는 데 도움이 됩니다. 실제 개발에서는 개발 효율성을 높이기 위해 다양한 요구에 따라 이러한 기능을 유연하게 사용할 수 있습니다.

위 내용은 laravel 합계 다른 조건의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿